C# 测试 SqlDataAdapter 是否包含记录

问题描述 投票:0回答:2

我使用 ADO,并且是 C# 新手。

此来源显示记录已被读取,无论成功与否。如果找到记录,效果很好,从不显示

MessageBox.Show("No Records")

public static void readSqlData(String sSource)
{
    string strSelection = "SELECT * FROM " + sSource;

    SqlDataAdapter da = new SqlDataAdapter(strSelection, cnn);

    if (da != null)
    {
        MessageBox.Show("Records have been read");

        dt = new DataTable();
        da.Fill(dt);
    }
    else
    {
        MessageBox.Show("No records \n" + strSelection);
    }
}

我搜索了“测试SqlDataAdapter是否为空”。我不明白这些答案。抱歉,容易混淆。

c# sql-server ado
2个回答
1
投票

这是您需要阅读文档的示例。如果您这样做了,那么您就会知道

Fill
方法返回检索到的记录数。

if (myDataAdapter.Fill(myDataTable) > 0)
{
    // At least one record was retrieved.
}
else
{
    // No records were retrieved.
}

0
投票

检查数据表行数是否从零开始计数。

public static void readSqlData(String sSource)
{
            string strSelection = "SELECT * FROM " + sSource;
            SqlDataAdapter da = new SqlDataAdapter(strSelection, cnn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                MessageBox.Show("Records have been read");
            }
            else
            {
                MessageBox.Show("No records \n" + strSelection);
            }
}
© www.soinside.com 2019 - 2024. All rights reserved.