Avatar billede -xyz- Nybegynder
18. september 2004 - 01:37 Der er 7 kommentarer og
1 løsning

DB resultat til label

Hej, jeg er helt grøn til C#, så jeg har vist et par lette spm.

1. Jeg har noget kode der skriver til en label fra en database...

while(rdr.Read()) {
                        int f1 = (int)rdr[0];
                        string f2 = (string)rdr[1];
                        lblOutput.Text = f1 + " " + f2;
                }

men mit problem er jo at jeg kun får vist den sidste post, da lblOutput.Text jo bliver defineret hver gang løkken køres...
Jeg kunne så godt tænke mig at vide hvordan jeg får den til at printe hele mit SQL output i labelen...

2. jeg søger noget info om at skrive til databaser (access)

mvh
Kenneth Jakobsen
Avatar billede snepnet Nybegynder
18. september 2004 - 02:10 #1
Den rigtig hurtige - det er bare et lille plus der er sat ind :o)

while(rdr.Read())
{
  int f1 = (int)rdr[0];
  string f2 = (string)rdr[1];
  lblOutput.Text += (f1 + " " + f2);
}
Avatar billede arne_v Ekspert
18. september 2004 - 09:15 #2
re 1)

Der er nogle kontroller bl.a. DataGrid som kan vise en hel tabel.

Men du kan også selv outputte noget der giver linier.

re 2)

Igen er der flere måder.

Du kan lave en XxxxCommand med en INSERT/UPDATE SQL sætning og køre
den med ExecuteNonQuery metoden.

Eller du kan bruge nogen af de mere avancerede kontroller som selv kan
finde ud af at gemme de data der er æmdret/tilføjet.
Avatar billede -xyz- Nybegynder
18. september 2004 - 10:48 #3
Jeg fik fixet mit første problem, selv i nat, men jeg får nu flg. fejl: could not find installabble ISAM
Avatar billede -xyz- Nybegynder
18. september 2004 - 12:12 #4
Hej jeg fik vist ikke beskrevet mit problem ordentligt når jeg skal skrive til databasen, laver den fejl:

System.Data.OleDb.OleDbExeption: Kan ikke finde den installerbare ISAM,
at System.Data.OleDb.OleDBConnection.ProcessResults(Int32)
at System.Data.OleDb.OleDbConnection.InitializeProvider()
at System.Data.OleDb.OleDbConnection.Open()

Med flg. Source:

string strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=c:\\db.mdb"; 
                  string strSQL = "INSERT INTO test(data) VALUES("+txtInput.Text+")" ; 
                 
                  // create Objects of ADOConnection and ADOCommand 
                  OleDbConnection myConn = new OleDbConnection(strDSN); 
                  OleDbCommand myCmd = new OleDbCommand( strSQL, myConn ); 
                  try 
                  { 
                        myConn.Open(); 
                        myCmd.ExecuteNonQuery(); 
                  } 
                  catch (Exception err) 
                  { 
                        MessageBox.Show("Oooops. I did it again:\n" +err); 
                  } 
                  finally 
                  { 
                        myConn.Close(); 
                  }
Avatar billede snepnet Nybegynder
18. september 2004 - 13:10 #5
Avatar billede -xyz- Nybegynder
20. september 2004 - 08:43 #6
Nej, den har jeg prøvet, den virker ikke...
Avatar billede burningice Nybegynder
24. september 2004 - 11:38 #7
du mangler '' omkring din tekst?

string strSQL = "INSERT INTO test(data) VALUES('"+txtInput.Text+"')";
Avatar billede -xyz- Nybegynder
27. oktober 2004 - 12:58 #8
lukker
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