SQL查询不返回正确的计数

Mr *_*r A 0 sql database asp.net ado.net

我试图计算行数并传递该计数值来做一些逻辑.以下是代码:

   static public int GetNoImagesofMakeID(int makeID)
{
    string sql = "Select COUNT(*) from makeImages";
    SqlDataAdapter da = new SqlDataAdapter(sql, ConnectionString);
    DataTable dt = new DataTable();
    da.Fill(dt);
    return Convert.ToInt32(dt.Rows.Count);
}

  protected void hideUnhideFileUpload(int makeID)
{

    int count = caravans.GetNoImagesofMakeID(makeID);
    if (count >= 10)
    {
        FileUpload2.Enabled = false;
    }

    else
    {
        FileUpload2.Enabled = true;
    }

}
Run Code Online (Sandbox Code Playgroud)

我不知道为什么计数总是1.我在SQL Server上检查了相同的查询,它工作正常.但是,这里dt.rows.count总是返回1.

任何帮助将受到高度赞赏.谢谢.

Mar*_*ins 7

代码返回的行数而不是COUNT(*)的结果.该SQL语句将始终只返回一行.您可以只运行命令,而不是填充数据适配器:

SqlCommand cmd = someSQLConnection.CreateCommand();
cmd.CommandText = "Select COUNT(*) from makeImages";
return Convert.ToInt32(cmd.ExecuteScalar());
Run Code Online (Sandbox Code Playgroud)