Avatar billede madssch Nybegynder
20. august 2009 - 14:54 Der er 7 kommentarer og
1 løsning

Import af klasser

Hej Eksperter,

Jeg er rimelig novice i .NET, og er nu stødt på følgende udfordring:

Jeg har en fil (Default.aspx) med en tilhørende .cs-fil.
I .cs-filen opretter jeg forbindelse til en database og henter noget data. Et lille udsnit:

        SqlConnection dbConn = new SqlConnection(WebConfigurationManager.ConnectionStrings["cmsDbConn"].ConnectionString);
        string selectSql = "SELECT MenuId, Title, Icon FROM viewAdminMenu WHERE ParentId = 0 AND Visible = 1 AND LanguageId = 1 ORDER BY Priority";

        SqlCommand cmd = new SqlCommand(selectSql, dbConn);
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        DataSet dsSubMenu = new DataSet();

Som det fremgår af ovenstående, er selve connectionstring'en gemt i min web.config.

Det, som jeg gerne vil, er, at gemme WebConfigurationManager.ConnectionStrings["cmsDbConn"].ConnectionString i en klasse for sig, så jeg ikke behøver skrive det igen og igen og så det samtidig automatisk virker, hvis jeg opretter andre dokumenter.

Jeg har oprettet en Class-fil (ConnectionString.cs) og placeret den i App_Code-mappen - men hvad så nu?

Hvordan trækker jeg oplysningerne fra ConnectionString.cs?

På forhånd tak!
Avatar billede arne_v Ekspert
20. august 2009 - 15:03 #1
Laver en static metode i klassen som returnerer strengen og kalder den.
Avatar billede madssch Nybegynder
20. august 2009 - 15:07 #2
Kan du være lidt mere specifik (jeg er novice, remember?)  :)

Jeg har denne class-fil:

using System;
using System.Data;
using System.Web.Configuration;
using System.Data.SqlClient;

public class ConnectionString
{
    public ConnectionString()
    {
        //
        // TODO: Add constructor logic here
        //
    }
}

Hvad gør jeg?
Avatar billede sph1nx Nybegynder
20. august 2009 - 15:16 #3
using System;
using System.Data;
using System.Web.Configuration;
using System.Data.SqlClient;

public class ConnectionString
{
    public ConnectionString()
    {
      public static string getConnString()
      {
        return  WebConfigurationManager.ConnectionStrings["cmsDbConn"].ConnectionString);
       
      }
       
    }
}
Avatar billede sph1nx Nybegynder
20. august 2009 - 15:17 #4
og for at bruge den skriver du bare :


SqlConnection dbConn = new SqlConnection(ConnectionString.GetConnString());
Avatar billede madssch Nybegynder
20. august 2009 - 15:27 #5
Tak, jeg får følgende fejl:

1. } var forventet (blå markering ved 2. {)
2. Definition af type eller navneområde eller EOF var forventet

ConnectionString.cs:

using System;
using System.Data;
using System.Web.Configuration;
using System.Data.SqlClient;

public class ConnectionString
{
    public ConnectionString()
    {
        public static string GetConnString()
        {
            return WebConfigurationManager.ConnectionStrings["cmsDbConn"].ConnectionString;
        }
    }
}
Avatar billede madssch Nybegynder
20. august 2009 - 15:32 #6
Dette ser vist ud til at virke:

using System;
using System.Web.Configuration;

public class ConnectionString
{
    public static string GetConnString()
    {
        return WebConfigurationManager.ConnectionStrings["cmsDbConn"].ConnectionString;
    }

}

Ser det rigtigt ud?
Avatar billede madssch Nybegynder
09. september 2009 - 08:40 #7
sph1nx > Dit indlæg ledte mig til løsningen. Vil du smide et svar?
Avatar billede sph1nx Nybegynder
09. september 2009 - 09:15 #8
og et svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester