如何在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(*)
我会选择:
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
就标识而言,您向表中添加一个标识列,它将自动生成。在表中,您需要像这样创建它: