7

这是我在数据库表中显示/搜索记录的代码。如何验证 roecord 是否存在?它正在搜索成员的 ID。如果记录不存在,我应该如何显示消息?

 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();
4

6 回答 6

7
if( 0 == dtStock.Rows.Count ) // does not exist
于 2013-04-19T05:18:09.870 回答
3

你可以这样使用:

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

请参阅此处此处。如何使用DatasetDataTables.

于 2013-04-19T05:22:27.030 回答
2

你可以使用DataRowCollection.Count属性。

获取此集合中 DataRow 对象的总数。

If(0 == dtStock.Rows.Count)
  Console.WriteLine("There are no rows in that datatable")
于 2013-04-19T05:24:28.660 回答
2

你可以做这样的事情

    If(dtStock.Rows.Count > 0) 
    {
    //code goes here
    dataGridView1.DataSource = dtStock;
    }
    else
    {
    //Record not exists
    }
于 2013-04-19T05:26:58.867 回答
2

此 SQL 可能会快得多,因为它只会向客户端返回 0 或 1 行,而不是每个匹配的行和每一列。改掉使用*的习惯

SELECT  1 As X WHERE EXISTS (
    Select 1 from Members where Number = '" + SearchID.Text + "')"
于 2013-04-19T06:23:29.350 回答
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;
    }
于 2015-08-13T16:15:32.237 回答