04. november 2007 - 21:19Der er
8 kommentarer og 1 løsning
Hjælp til connectionstring C# MS SQL
Hejsa,
Jeg har leget med noget datasource-binding og min app.config ser således ud: <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> </configSections> <connectionStrings> <add name="ProjektForAlvor.Properties.Settings.ProjektDatabaseForAlvorConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ProjektDatabaseForAlvor.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" /> </connectionStrings> </configuration>
Nu vil jeg lave en DAO (Data Access Object)-klasse og vil gerne forbinde til denne database. Men hvordan skal min connectionstring lyde? Suppler også gerne med en lille metode der hiver noget hypotetisk data ud.
Jeg skal netop ha' hjælp til at implementere min connectionstring i sådan et eksempel. Jeg er newbie til dette.
Jeg kommer fra JAVA og MySQL hvor jeg er vant til at forbinde min lokale MySQL-server, hvorimod jeg skal forbinde til en lokal MDF fil her. (eller hvad?) Jeg håbede Visual C# Studio Express 2005 var mere intuitiv, og kunne hjælpe med dette.
Arne: Hvis jeg bruger dit eksempel på en naiv måde, så får jeg selvfølgelig fejl.
string ConString = new SqlConnection(ConfigurationManager.ConnectionStrings["ProjektForAlvor.Properties.Settings.ProjektDatabaseForAlvorConnectionString"].ConnectionString); "The name 'identifier' does not exist in the current context" - Den kender ikke 'ConfigurationManager' referencen.
string ConString = new SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ProjektDatabaseForAlvor.mdf;Integrated Security=True;User Instance=True"); 'Unrecognized escape sequence' - der ved \ (backslash).
Suk, ak og ve. ADO.NET bliver jeg ikke hurtigt klog på.
Kildekode der virker. Her er den så andre måske kan lære af mine begynderfejl.
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Data.SqlClient; using System.Collections; using System.Configuration;
namespace ProjektForAlvor { //public sealed class DAO public class DAO { //static readonly DAO instance = new DAO();
public ArrayList returnList() { ArrayList liste = new ArrayList(); //string ConString = ConfigurationManager.ConnectionStrings["ProjektForAlvor.Properties.Settings.ProjektDatabaseForAlvorConnectionString"].ConnectionString; SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ProjektDatabaseForAlvor.mdf;Integrated Security=True;User Instance=True"); //SqlConnection con = new SqlConnection(ConString); con.Open(); SqlCommand cmd = new SqlCommand("SELECT DBID,NAVN FROM DB_LISTE", con); SqlDataReader rdr = cmd.ExecuteReader(); while(rdr.Read()) { //int DB_ID = (rdr.IsDBNull(rdr.GetOrdinal("DB-ID"))); //int DB_ID = System.Convert.ToInt32(rdr[0]); string NAVN = (string)rdr["NAVN"]; int DB_ID = (int)rdr["DBID"]; //Console.WriteLine(DB_ID + " " + NAVN); liste.Add(NAVN); liste.Add(DB_ID);
} con.Close(); return liste; }
public void SaveItem() {
}
public void SaveListItem() {
} } }
Mange tak arne! Du fortjener uendeligt meget ros, du har altid været der. Svar for point :)
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.