执行sql命令返回值的问题 我有一条sql语句:"select count(xid) as xzs,sum(xrk) as rks,sum(xylfn) a fn from xinfo"看教程说这样的命令应该用executescalar方法,可这个方法只返回一个对象,一个结果值,我的语句有3个返回结果哦,怎么解决这个问题? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 executescalar方法:在msdn解释是:执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。所以这个方法不适当..你可以用.. SqlCommand.ExecuteNonQuery 方法,SqlCommand.ExecuteReader 方法 等方法..不太明白怎么用的话, 把这两个方法在msdn里搜,有例题的, 照着做吧.. Executescalar,ExecuteNonQuery,ExecuteReader 各自的用法各有特点,用哪个还看需求,没说一定要用哪个的。如果是要保存查询结果集,建议使用DataAdapter.Fill(tb_Name)将结果放入一个临时表中。Executescalar主要用来查询单个标量值;ExecuteNonQuery用于按行查询,常利用起HasRows属性如验证用户时;ExecuteNonQuery常用于删除,更新,插入等操作。 ExecuteNonQuery没有返回结果的,只有影响行数,不符合我的要求,只能用ExecuteReader ,这个该怎么把结果显示出来呢? ExecuteNonQuery没有返回结果的,只有影响行数,不符合我的要求,只能用ExecuteReader ,这个该怎么把结果显示出来呢? 你有SqlDataAdapter把查询结果Fill到DataSet中,然后DataSet.DataTable[0],中保存的数据就是你想要的结果 用 DataTable 的Load() 方法 SqlDataReader dr ;string xld = "";dr = cmd.ExecuteReader();if(dr.Read()){ xld = dr["xld"].ToString(); …………………………………………………………} executescalar方法是返回当前查询的第一行的第一个字段内的值。如果楼主需要多个值的话,就得用返回记录集的方法了。 或者用SqlDataAdapter把查询结果Fill到DataSet中, 然后DataSet.DataTable[0],中保存的数据就是你想要的结果msdn有例子方便理解 我记得c#中的字符串,好象有类似这样的表示方法的。但具体怎么忘记了。 C#替换代码 一个程式调用另外一个程序 虚拟内存 请问如何做像office一样的主界面 用Request或Request.Form怎样获得页面中的多值项 问个关于.NET程序在客户的机上运行的问题!来者有分! 请问在数据库编程中,怎么在添加或修改后,如用户想进行取消操作。代码将怎样写。 有谁帮我调试一下这个游戏源代码? 同一个项目中两个名称空间,就是有两个子项目,但它们之间要怎么传递参数呢 c# winform: 代码验证sql语句是否合法? 怎样隐藏javascript啊?
你可以用.. SqlCommand.ExecuteNonQuery 方法,SqlCommand.ExecuteReader 方法 等方法..
不太明白怎么用的话, 把这两个方法在msdn里搜,有例题的, 照着做吧..
如果是要保存查询结果集,建议使用DataAdapter.Fill(tb_Name)将结果放入一个临时表中。Executescalar主要用来查询单个标量值;ExecuteNonQuery用于按行查询,常利用起HasRows属性如验证用户时;ExecuteNonQuery常用于删除,更新,插入等操作。
然后DataSet.DataTable[0],中保存的数据就是你想要的结果
SqlDataReader dr ;
string xld = "";
dr = cmd.ExecuteReader();
if(dr.Read())
{
xld = dr["xld"].ToString();
…………………………………………………………
}
SqlDataAdapter把查询结果Fill到DataSet中,
然后DataSet.DataTable[0],中保存的数据就是你想要的结果
msdn有例子方便理解