2013-04-19 10 views
5

Dies ist mein Code zum Anzeigen/Suchen eines Datensatzes in einer Datenbanktabelle. Wie überlege ich, ob das Roecord existiert oder nicht? Es wird die ID eines Mitglieds durchsucht. Wie soll ich eine Nachricht anzeigen, wenn der Datensatz nicht existiert?Wie überprüfe ich, ob eine Zeile existiert oder nicht?

string connectionstring = "Server=Momal-PC\\MOMAL;Database=Project;Trusted_Connection=True;"; 
SqlConnection conn = new SqlConnection(); 
conn.ConnectionString = connectionstring; 
conn.Open(); 


    SqlDataAdapter sda = new SqlDataAdapter("Select * from Members where Number = '" + SearchID.Text + "'", conn); 
    DataTable dtStock = new DataTable(); 

    sda.Fill(dtStock); 
    dataGridView1.DataSource = dtStock; 

    conn.Close(); 

Antwort

6
if(0 == dtStock.Rows.Count) // does not exist 
+0

ist [eine Erweiterung] (http://stackoverflow.com/a/34438198/2404470) hilfreich? – xameeramir

2

Sie wie folgt verwenden können:

If(dtStock.Rows.Count > 0) // If dtStock.Rows.Count == 0 then there is no rows exists. 
{ 
    // Your Logic 
} 

Siehe Here & Here. So verwenden Sie Dataset und DataTables.

2

Sie können DataRowCollection.Count Eigenschaft verwenden.

Ruft die Gesamtzahl der DataRow-Objekte in dieser Auflistung ab.

If(0 == dtStock.Rows.Count) 
    Console.WriteLine("There are no rows in that datatable") 
2

Sie können

If(dtStock.Rows.Count > 0) 
    { 
    //code goes here 
    dataGridView1.DataSource = dtStock; 
    } 
    else 
    { 
    //Record not exists 
    } 
2

wie diese etwas tun Dieses SQL wird wahrscheinlich viel schneller sein werden, da es nur 0 oder 1 Zeilen an den Client zurück, anstatt jede passende Zeile und jede einzelne Spalte. Raus aus der Gewohnheit, mit *

SELECT 1 As X WHERE EXISTS (
    Select 1 from Members where Number = '" + SearchID.Text + "')" 
+0

Okay. Ich werde das tun. Vielen Dank. – YehCheez

1
public static int RowCount() 
     { 

      string sqlConnectionString = @" Your connection string"; 
      SqlConnection con = new SqlConnection(sqlConnectionString); 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("SELECT COUNT(*) AS Expr1 FROM Tablename", con); 
      int result = ((int)cmd.ExecuteScalar()); 
      con.Close(); 
      return result; 
    } 
Verwandte Themen