所以我正在为一个大学项目创建一个消息传递应用程序,我有一个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的事情......
答案 0 :(得分:0)
尝试将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();
}
答案 1 :(得分:0)
我成功地使用了你的确切代码(连接字符串除外)与sql server,所以可能你的@" DATASOURCE"或MS Access。