c#.net如何从数据库表中读取某一列的某一个值,再赋给Session对象?

比如从数据库A表B查询ID=1的这条记录,并且把这条记录name这一列的值赋给Session["name"];... 比如从数据库A 表B
查询 ID=1的这条记录,并且把这条记录name这一列的值赋给Session["name"];
展开
 我来答
greystar_cn
推荐于2018-03-30 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
ado.net 本身提供了ExecuteScalar功能。ExecuteScalar执行查询,并返回查询所返回的结果集中第一行的第一列或空引用(如果结果集为空).忽略其他列或行.
示例如下:

using (SqlConnection cn = new SqlConnection())
{
cn.ConnectionString = App.U8DataConn;
cn.Open();

SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;

string sql = "select cNumber From VoucherHistory with (NOLOCK) Where CardNumber=@OutBillCode and cContent is NULL";
cmd.CommandText = sql;
//因为不用创建行集、查找值并关闭行集,所以产生的系统开销非常小与使用 ExecuteReader方法,然后使用 SqlDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少
object maxNum = cmd.ExecuteScalar();
int newNum = 0;
//判断是否是空值
if (maxNum == System.DBNull.Value || maxNum == null)
{
newNum = 1;
}
else
{
newNum = Convert.ToInt32(maxNum) + 1;
}
Session["maxBillNO"]= newNum.ToString(); //赋给Session对象
}
百度网友224554f
推荐于2016-02-05
知道答主
回答量:10
采纳率:0%
帮助的人:6.1万
展开全部
using System.Data.SqlClient;//引用

string StrSql,StrMyConn;
StrMyConn="Data Source=服务器地址;Initial Catalog=数据库A;User Id=数据库用户名;Password=数据库密码";//SQL连接字符串
StrSql="select name from 表B where id=1";//T-SQL语句

SqlConnection MyConn = new SqlConnection(StrMyConn);//连接数据库
SqlCommand MyCmd;
SqlDataReader dr;

MyConn.Open();//打开连接
MyCmd=new SqlCommand(StrSql, MyConn);
dr=MyCmd.ExecuteReader();
if(dr.Read())//读取数据
  Session["name"]=dr["name"].ToString();//赋值给Session["name"]
dr.Close();
MyConn.Close();
追问
Session["name"] = cmd.ExecuteScalar().ToString();
这样不行吗?
追答
我查了下资料,这样也可以的,不过我习惯用read方法了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式