ADO.net执行多个查询(ExecuteQuery和ExecuteScalar)并在Web表单控件中显示结果
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADO.net执行多个查询(ExecuteQuery和ExecuteScalar)并在Web表单控件中显示结果相关的知识,希望对你有一定的参考价值。
嘿希望大家度过一个愉快的假期,
我试图将SQL数据库表中的多个查询结果显示为网格视图控件和标签。我对网格视图结果没有任何问题,但是ExecuteScalar命令的结果没有在我的标签控件中显示ID =“myCount”。我无法弄清楚我的代码出了什么问题。我需要你的帮助。
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["MBSDB"].ConnectionString);
try {
conn.Open();
string query="SELECT * FROM tblBook";
using (SqlCommand mycmd = new SqlCommand(query, conn)) {
myGrid.DataSource = mycmd.ExecuteReader();
myGrid.DataBind();
}
string query2 = "SELECT count(title) FROM tblBook";
using (SqlCommand mycmd2 = new SqlCommand(query2, conn)) {
int count = (int)mycmd2.ExecuteScalar();
myCount.Text = count.ToString();
}
}
catch {
Exception(e);
}
finally { conn.Close(); }
}
答案
你确定没有错误。我认为,错误发生并在catch块中处理,你不知道它。
你应该改变它;
(int)mycmd2.ExecuteScalar();
至
Convert.ToInt32(mycmd2.ExecuteScalar());
你不能拆箱这样的物体; (int)mycmd2.ExecuteScalar()
以上是关于ADO.net执行多个查询(ExecuteQuery和ExecuteScalar)并在Web表单控件中显示结果的主要内容,如果未能解决你的问题,请参考以下文章
我可以判断 ado.net DbCommand 是不是是查询(在执行之前)