积极答复者
asp.net怎样把 select count查询出来的行数赋值给label标签?请高人指点!

问题
-
存储过程: ALTER PROCEDURE [dbo].[selectcount] ( @name varchar(50) ) AS BEGIN SELECT count(*) from abc where name=@name and datediff(day,shengjitime,getdate())=0 END DAL层: public DataTable selectcount(string name) { DataTable dt = new DataTable(); string cmdText = "selectcount"; SqlParameter[] par = new SqlParameter[] { new SqlParameter("@name",name) }; dt = sqlhelper.ExecuteQuery(cmdText, par, CommandType.StoredProcedure); return dt; } 表示层: protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { SystemDAO sd = new SystemDAO(); string name ="xxx"; this.Label2.Text =sd.selectcount(name).ToString(); } } 执行存储过程可以查询结果,但是预览页面却什么都没有,也没有报错,请高人指点,谢谢!
答案
-
你好,请问,行名和列名应该写些什么?怎么,要不就是列不属于表,要不就是值为零,请给我详细解答,谢谢!
我把存储过程改成:
SELECT count(*) as scount from abc where name=@name and datediff(day,shengjitime,getdate())=0
然后这样写,this.Label2.Text = sd.selectcount(name).Rows[0]["scount"].ToString();对吗?怎么结果是零?查询结果应该为2的,
- 已编辑 柯华特 2012年3月9日 7:18
- 已标记为答案 Allen_MSDNModerator 2012年3月22日 1:53
全部回复
-
您好,您的selectcount方法返回的是一个DataTable类型,DataTable类型的实例调用ToString方法是没有结果的。如果你想赋值给Label,可以写成这样,
this.Label2.Text= sd.selectcount(name)["rowname"]["colname"].ToString();
Allen Li [MSFT]
MSDN Community Support | Feedback to us
-
您好,您的方法返回的是一个DataTable,DataTable是有行和列组成的,你把上式改为sd.selectcount(name).Rows["rowname"]["colname"],rowname和colname分别为行名和列名,您也可以用index来替换。
Allen Li [MSFT]
MSDN Community Support | Feedback to us
-
你好,请问,行名和列名应该写些什么?怎么,要不就是列不属于表,要不就是值为零,请给我详细解答,谢谢!
我把存储过程改成:
SELECT count(*) as scount from abc where name=@name and datediff(day,shengjitime,getdate())=0
然后这样写,this.Label2.Text = sd.selectcount(name).Rows[0]["scount"].ToString();对吗?怎么结果是零?查询结果应该为2的,
- 已编辑 柯华特 2012年3月9日 7:18
- 已标记为答案 Allen_MSDNModerator 2012年3月22日 1:53
-
或許你可以參考這篇文章。
http://stackoverflow.com/questions/5862773/loading-a-datatable-from-a-sql-stored-procedure
以上說明若有錯誤請指教,謝謝。
http://www.dotblogs.com.tw/terrychuang/ -
您好,语句没有问题,这个语句返回的是sd.selectcount(name)返回的datatable的第一行的“scount”列的值。 您可以通过SQL Profiler看一下传进参数后实际执行的命令,在数据库中运行一下看是不是您想要的结果。
Allen Li [MSFT]
MSDN Community Support | Feedback to us
- 已编辑 Allen_MSDNModerator 2012年3月16日 2:12
-