c#.net如何从数据库表中读取某一列的某一个值,再赋给Session对象?
比如从数据库A表B查询ID=1的这条记录,并且把这条记录name这一列的值赋给Session["name"];...
比如从数据库A 表B
查询 ID=1的这条记录,并且把这条记录name这一列的值赋给Session["name"]; 展开
查询 ID=1的这条记录,并且把这条记录name这一列的值赋给Session["name"]; 展开
2个回答
推荐于2018-03-30 · 知道合伙人软件行家
关注
展开全部
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对象
}
示例如下:
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对象
}
展开全部
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();
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方法了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询