如何修改这句统计记录总数的语句
string sql="select count(*) from qcqg where uid='2'";
cmd = new SqlCommand(sql,conn);
read=cmd.ExecuteReader();
if(read.Read())
{
countreg=read.GetValue(0).ToString();
}
上面的代码是统计语句,运行时并没错,我再改为如下代码:
string sql="select count(*) from qcqg where uid='2'";
cmd = new SqlCommand(sql,conn);
read=cmd.ExecuteReader();
if(read.Read())
{
countreg=read.GetValue(0).ToString();
}
else
{
Response.Write (目前还没有任何信息!");
}
运行也是没有错误,但问题是不管数据库中有没有对应的数据都不会显示"目前还没有任何信息"这条提示语句,我调用时是这样调用的:<%=countreg%>,如果数据库中没有对应的数据,则会显示0,这个结果也是对的,但我希望是显示"目前还没有任何信息"这样的提示语句,大家给看一下,这里的原因是调用方式导致不会显示提示语句吗?还是上面的代码写的不对呢?望大家给写个正确的写法。
另外,我还需要用DataList或者DataGrid来绑定数据源,但这样又要写另外一个sql语句了,应该怎么写呢?再一并给予指点一下好吗》
问题点数:0、回复次数:4Top
1 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2003-10-03 18:35:22 得分 0
string sql="select count(*) from qcqg where uid='2'";
cmd = new SqlCommand(sql,conn);
int i=(int)cmd.ExecuteScalar();
if(i>0)
countreg=i;
else
Response.Write (目前还没有任何信息!");
Top
2 楼webdiyer(.net资源精华—www.dotneturls.com)回复于 2003-10-03 18:39:24 得分 0
上面的语句中应该在开始部分打开数据库,在if(i>0)之前关闭数据库连接。
要绑定数据在DataGrid或DataList,如果绑定的不是count(i)的值,当然还应该写另一条sql语句,类似这样:
sql="select * from qcqg where uid='2'";
SqlDataAdapter adapter=new SqlDataAdapter(sql,conn);
DataTable table=new DataTable();
adapter.Fill(table);
DataGrid1.DataSource=table;
DataGrid1.DataBind();Top
3 楼dawave()回复于 2003-10-03 18:57:41 得分 0
放一个label或者literal在你的aspx文件里,然后根据结果设:
theLabel.Text = read.GetValue(0).ToString();
else
theLabel.Text = "目前还没有任何信息!";Top
4 楼my3b(重阳公子)回复于 2003-10-03 21:23:19 得分 0
按照dawave()的指点改写了代码,但运行时还是一样,不会提示"目前还没有任何消息!"这样的提示语句,而只会显示0这一记录总数,这和我原来的显示格式一样,虽然统计结果没错,但我希望是显示提示语句,哪位再给指点一下好吗?谢谢了。Top




