command.ExecuteScalar()格式转换错误
//查询该科目的题目数量private static int GetQuestionCount(int subjectId)
{
//查询题目数量
string sql = string.Format("select count(*) from Question where SubjectID = '{0}'",subjectId);
OleDbCommand command = new OleDbCommand(sql,DBHelper.connection);
DBHelper.connection.Open();
int count = Convert.ToInt32(command.ExecuteScalar());
DBHelper.connection.Close();
Console.WriteLine(count);
return count;
}
其中,“ int count = Convert.ToInt32(command.ExecuteScalar());” 出现错误 是怎么回事
大家帮忙一下
谢谢了 --------------------编程问答-------------------- 加入一个ToString()即可解决:
command.ExecuteScalar()得到到是个object型,先将其转换为string型。
int count = Convert.ToInt32(command.ExecuteScalar().ToString());) --------------------编程问答-------------------- 还是不行啊 快崩溃了 --------------------编程问答-------------------- 是不是查询语句有错误啊 --------------------编程问答-------------------- 看看你的command.ExecuteScalar()这句是不是返回NULL --------------------编程问答-------------------- 要怎么看 可以说得详细一点吗 --------------------编程问答-------------------- 你直接放进数据一执行不就知道了 --------------------编程问答-------------------- 找到错误了
string sql = string.Format("select count(*) from Question where SubjectID = '{0}'",subjectId);
那个 '{0}' 不能再加上单引号了;
去掉就可以运行了
还是谢谢了
补充:.NET技术 , C#