当前位置:编程学习 > C#/ASP.NET >>

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#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,