2009-08-25 6 views
0

Ich habe sieben Felder, die in sieben Textfeldern ausgefüllt werden müssen. Die Daten stammen von einem SQL Compact DB ...Füllen Sie Textfelder aus SQL-Datenbank

Hier ist mein Code bisher, aber ich stecke fest. Was muss ich tun, um die Textfelder in Form Load zu füllen? Vielen Dank.

Woody

private void mcContactSubmit_Load(object sender, EventArgs e) 
{ 
    // Setup our SQL connection. 
    SqlCeConnection dataSource = new SqlCeConnection(
       @"Data Source=|DataDirectory|\..\..\ContactInformation.sdf; 
       Persist Security Info=False"); 
     SqlCeDataReader myReader = null; 

    // Create our command text. 
    string sqlQuery = String.Format(@"SELECT TOP (1) FirstName, LastName, Title, 
    Department, Category, Phone, Comments FROM ContactInformation 
    ORDER BY FirstName DESC"); 

    // Open the SQL connection. 
    dataSource.Open(); 

    SqlCeCommand myCommand = new SqlCeCommand(sqlQuery, dataSource); 
    myReader = myCommand.ExecuteReader(); 
} 

Antwort

3

You can either use the index or the column name to get the actual data, as follows:

myReader = cmd.ExecuteReader(); 

// Run through the results 
while (myReader.Read()) 
{ 
    string fname = myReader.GetString(0); 

    // or alternatively: 

    string fname2 = myReader["FirstName"]; 

    // Either of these should work 
} 

After which, it's simple assignment to the TextBox. Ansonsten könnte man die Daten auch direkt in die TextBox einfügen, aber in den meisten Fällen sollte nicht vorher eine Validierung erfolgen.

Wenn Sie weitere Hilfe benötigen, schauen Sie hier:

MSDN - SqlCeDataReader

+0

Dank Kumpel, einfach. – Woody

+0

Tolles Zeug, froh, dass es geholfen hat. –

+0

Doh. Ich habe zu früh gesprochen. Die Textfelder werden nicht ausgefüllt ... Folgendes sehe ich im Debug-Modus: Nachricht \t "SQL Server Compact unterstützt keine Aufrufe der HasRows-Eigenschaft, wenn der zugrunde liegende Cursor nicht gescrollt werden kann." Was zum Teufel bedeutet das ?! LOL ... – Woody