所以我正在为一个大学项目创建一个消息传递应用程序,我有一个Access in Users数据库,我已经正确链接数据库并且可以执行语句但我正在努力解决一个问题,如何计算数据表中的行数。
事实上,我想要做的就是计算用户总数,我的老师告诉我将数据输入DataTable并计算行数。但是,无论我在数据库中拥有多少用户,它总是返回2。
int UserCount = 0;
using (OleDbConnection cuConn = new OleDbConnection())
{
cuConn.ConnectionString = @"DATASOURCE";
string statement = "SELECT COUNT(*) FROM Users";
OleDbDataAdapter da = new OleDbDataAdapter(statement, cuConn);
DataTable Results = new DataTable();
da.Fill(Results);
if (Results.Rows.Count > 0)
{
UserCount = int.Parse(Results.Rows[0][0].ToString());
}
}
上面的代码是我的老师发送的内容的副本,他说它会起作用。任何帮助,将不胜感激。
对不起,如果这是浪费时间,还是习惯了这个StackOverflow的事情......
尝试用Users
替换[Users]
?因为Users
可能是数据库的关键词。获得总数的更简单方法是使用ExecuteScalar
方法。
using (OleDbConnection cuConn = new OleDbConnection())
{
cuConn.ConnectionString = @"DATASOURCE";
string statement = "SELECT COUNT(*) FROM [Users]";
OleDbCommand cmd = new OleDbCommand (statement, cuConn);
cuConn.Open();
int count = (int)cmd.ExecuteScalar();
if (count > 0)
{
//
}
cuConn.Close();
}
我成功地将您的确切代码(连接字符串除外)与sql server一起使用,因此您的@“DATASOURCE”或MS Access可能存在问题。