如何在visual studio 2010中检查sql中的表是否为空

本文关键字:是否 sql 检查 visual studio 2010 | 更新日期: 2023-09-27 18:15:11

我想检查如果我的表(在SQL数据库)是空的,所以如果它是我可以把一个按钮在适当的地方,允许用户创建他们的第一个…好用户,让他们可以使用程序。

那么我如何检查用户没有帐户,然后我如何添加一个新用户,记住ID是主键,并且设置为每个用户增加一个,我需要在添加帐户时包括它吗?

总结=我如何添加的东西表+我需要包括ID时添加它或我需要忽略它,只是添加的东西,如用户名和密码。

其次,我如何发现表是否为空

& lt; & lt; & lt; & lt; & lt;基本的想法我现在明白了只是这个错误是一个问题>>>>>

   System.Data.SqlClient.SqlCommand CheckNone = new System.Data.SqlClient.SqlCommand(
            "SELECT COUNT(*) from Users",
            con);
            con.Open();
            System.Data.SqlClient.SqlDataReader Checkreader = CheckNone.ExecuteReader();
            if (Checkreader.Read())
            {
                if (0 != Checkreader.GetInt16(Checkreader.GetOrdinal("COUNT(*)")))
                {

会导致错误…像这样,indexoutofRangeException: COUNT()等等如果(0 != Checkreader.GetInt16(Checkreader.GetOrdinal("COUNT()"))))

特别是名称COUNT i have try COUNT(*)

如何在visual studio 2010中检查sql中的表是否为空

我会选择:

System.Data.SqlClient.SqlCommand CheckNone = new System.Data.SqlClient.SqlCommand(
        "IF EXISTS(SELECT * from Users) SELECT 1 ELSE SELECT 0",
        con);
        con.Open();
        var result = (int)CheckNone.ExecuteScalar();
        if (result==0)
        {
            //No users

这有一个优点(与使用COUNT(*)相比),一旦表填充,当您关心的只是行是否存在(即它更清楚地陈述了您想要确定的事实)时,您不需要要求服务器计算所有行。

它还有一个优点,当我们所关心的是结果集第一行的第一列时,我们不需要打开阅读器,然后必须清理阅读器-这就是ExecuteScalar构建的目的。

其次,我如何发现表是否为空

SELECT COUNT(*)更改为SELECT COUNT(*) AS CountOfRecords然后更改为ExecuteReader或仅保留语句原样和ExecuteScalar

试试这个

con.Open();
SqlDataAdapter adapter = new SqlDataAdapter("SELECT * from Users",con);
DataTable table = new DataTable();
adapter.Fill(table);
if(table.Rows.Count == 0)
{
    //table is empty.
}

SqlDataAdapter示例

我会在代码中尝试读取用户表。像这样

注意:这是psuedo代码:

If not isdbnull(dataobject("nameoffield")
'''Do certain code
'''Show Button
ELSE
'''The user has an ID
'''Dont show button
END IF

就标识而言,您向表中添加一个标识列,它将自动生成。在表中,您需要像这样创建它: