Avatar billede martinsorensen Nybegynder
24. oktober 2007 - 17:05 Der er 13 kommentarer og
1 løsning

Access til database i visual studio express 2005

Hej eksperter. Hvordan læser jeg nogle data fra den database man kan oprette inde i visual studio express 2005?

Mvh

Martin Sørensen
Avatar billede martinsorensen Nybegynder
24. oktober 2007 - 17:07 #1
Jeg har en:

public void dbConnect()
        {
            SqlConnection con = new SqlConnection("Server=localhost\\SQLEXPRESS;Integrated Security=SSPI;database=Database");
            con.Open();
            SqlCommand cmd = new SqlCommand("SELECT brugernavn,password FROM brugerPass", con);
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                string attr1 = rdr["brugernavn"].ToString();

                tbBrugernavn.Text = attr1;
            }
            con.Close();
        }

Som virker fint.

Eneste problem er bare at den ikke læser det data som er i den databasefil som VSE 2005 har lavet. Men en database som er lavet i Microsoft SQL server 2005.
Avatar billede kalp Novice
24. oktober 2007 - 17:08 #2
Du skal bruge klasserne i using System.Data.OleDb
Avatar billede kalp Novice
24. oktober 2007 - 17:08 #3
De hedder bare OleDbConnection, OleDbCommand, OleDbDataReader istedet.

www.connectionstrings.com for connectionstring.
Avatar billede martinsorensen Nybegynder
24. oktober 2007 - 17:09 #4
okay.. så jeg skal bare bruge OleDb for at tilgå den database inde i programmet?
Avatar billede kalp Novice
24. oktober 2007 - 17:16 #5
ja hvis din databas er Access... MEN ikke hvis det bare er en SQL.. jeg er blevet forvirret af din overskrift:D
læste det som Access db..

din db er en mssql går jeg så ud fra.. og så bruger du de rigtige klasser.
Avatar billede martinsorensen Nybegynder
24. oktober 2007 - 17:21 #6
okay... Jeg har en Database.mdf fil som er oprettet i VSE 2005. Så har jeg Microsoft SQL server 2005 hvor jeg også har leget lidt med databaser. Der hedder den også Database. Men problemet er så, at den database som er i sql server, er den der bliver tilgået. Jeg kan ikke finde ud af at komme i kontakt med den i VSE 2005.

Hvordan gør jeg dette? :)

Mvh
Avatar billede kalp Novice
24. oktober 2007 - 17:21 #7
den sql string skal se mere ud som det her

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\DINDBFILSNAVNHER.mdf;Integrated Security=True;User Instance=True
Avatar billede martinsorensen Nybegynder
24. oktober 2007 - 17:27 #8
WUHOO!! :p

Så virker det!

Koden er:

public void dbConnect()
        {

            SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True");
            con.Open();
            SqlCommand cmd = new SqlCommand("SELECT brugernavn,password FROM brugerPass", con);
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                string attr1 = rdr["brugernavn"].ToString();

                tbBrugernavn.Text = attr1;
            }
            con.Close();
        }
Avatar billede kalp Novice
24. oktober 2007 - 17:28 #9
yeps.. du skal selvfølgelig escape \ som du har gjort - jeg placere normalt min connectionstring i app.config eller web.config så der er det ikke nødvendigt:)
Avatar billede martinsorensen Nybegynder
24. oktober 2007 - 17:33 #10
Kan jeg ikke bare lave en klasse der hedder connectDb og bare kalde den hver gang jeg skal lave en connection, så der ligger en metode der hedder

public void connect()
{
SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True;User Instance=True");
            con.Open();
}

Og så bare udføre tingene i andre klasser og så bare lige huske con.Close(); ??
Avatar billede kalp Novice
24. oktober 2007 - 17:38 #11
jo men du skal nok google "C# singleton pattern" eller lignende for, at se hvordan man gør det mest korrekt;)
Avatar billede lasserasch Juniormester
24. oktober 2007 - 18:23 #12
Det er dårlig stil at stille samme spørgsmål 2 gange! Og iøvrigt imod ekspertens regler...

http://www.eksperten.dk/spm/802498

/Lasse
Avatar billede neoman Novice
24. oktober 2007 - 18:35 #13
Avatar billede martinsorensen Nybegynder
29. oktober 2007 - 14:47 #14
smid 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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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