2016-05-09 8 views
0
string j = "Data Source=FUJITSU-PC\\SQLEXPRESS;Initial Catalog=attendance_system;Integrated Security=True"; 
    DataTable dt = new DataTable(); 
    using (SqlConnection cn = new SqlConnection(j)) 
    { 
     SqlCommand cmd = new SqlCommand("select dbo.faculty_status.username from dbo.faculty_status", cn); 
     cn.Open(); 
     SqlDataReader dr = cmd.ExecuteReader(); 
     dr.Read(); 
     dt.Load(dr); 
     cn.Close(); 
    } 
    int x = dt.Rows.Count; 
    foreach (DataRow row in dt.Rows) 
    { 
     foreach (var item in row.ItemArray) 
     { 
      string xx = item.ToString(); 
     } 
    } 

MySQL server database table, wie Daten von SQL Server Datatable C#

ich diesen Code es wors verwendet mit zurückzuholen, aber es gefällt mir nicht mein Wunsch Wert ersten Reihe zeigen es GIVS mich setzen wie ----

13-24516-2

+0

Was ist der Fehler? –

+0

was machst du mit xx? Da es sich um eine lokale Variable handelt, könnte sie mit der zweiten Zeile überschrieben werden. –

+0

Ich möchte meinen Wert mit xx Variable –

Antwort

0

Es gibt Ihnen die letzte Reihe. Die XX-Zeichenfolge wird zuerst mit den ersten Ergebnissen geladen, danach in der zweiten Zeile überschreibt sie die erste Zeile mit der zweiten Zeile, dies geht so lange, wie Zeilen vorhanden sind.

, wenn Sie wollen, dass die ersten Reihen die Sie somthing wie verwenden angezeigt werden könnte:

DataTable dt = new DataTable(); 
    string xx = dt.Rows[0].ToString(); 

oder

foreach (DataRow row in dt.Rows) 
{ 
     foreach (var item in row.ItemArray) 
     { 
      Console.WriteLine(item.ToString()); 
     } 
} 

dt.Rows [die Zeile, die Sie abrufen möchten]

+0

ist es nicht arbeiten.noch es gibt mir zweite Reihe..nach dem zweiten funktioniert es gut..es gib mir 3,4,5 und so weiter –

1

I denke, das Problem ist die Art, wie du liest. Try this:

string j = "Data Source=FUJITSU-PC\\SQLEXPRESS;Initial Catalog=attendance_system;Integrated Security=True"; 
    using (SqlConnection cn = new SqlConnection(j)) 
    { 
     SqlCommand cmd = new SqlCommand("select dbo.faculty_status.username from dbo.faculty_status", cn); 
     cn.Open(); 
     using (var reader = cmd.ExecuteReader()) 
     { 
      while(reader.Read()) 
      { 
       Console.WriteLine(reader["username"]); 
      } 
     } 
    } 

Lassen Sie mich wissen, ob es funktioniert!

+0

ja es funktioniert .......... –

+0

gut zu wissen. ..und bitte versuche gespeicherte Prozeduren anstelle von direkten Befehlen wie diesen zu verwenden ... –

0

diesen Code Beispiel Versuchen: -

SqlCommand cmd = new SqlCommand("select dbo.faculty_status.username from dbo.faculty_status", cn); 
DataTable dt = new DataTable(); 
SqlDataAdapter mda = new SqlDataAdapter(cmd); 
mda.Fill(dt); 

Lassen Sie mich wissen, ob es funktioniert!