日期:2014-05-18  浏览次数:20468 次

在ASP.NET往ACCESS数据库存入数据时的一个问题
我想把我的ASP.NET页面的Session信息存入ACCESS数据库中,代码中有一句这样写: 

strSql="insert into T_Session (Session_ID) values(问题在这里!)"; 

我想把我的一个Session信息Session["UserID"]放到上面标记的values后面的那个括号里,要怎么放?

试了一种方法:
OleDbParameter parm = new OleDbParameter("@sessionid",OleDbType.Char,20); 
parm.Value =Session["UserID"]; 
strSql="insert into T_Session (Session_ID) values(@sessionid)";
myComm=new OleDbCommand(strSql,myConn);
myComm.ExecuteNonQuery();

行不通,在myComm.ExecuteNonQuery(); 这一行报错:至少一个参数没有被指定值.
应该说明@sessionid这里为空吧,到底要怎么办,求求大家帮帮忙!!!谢谢了!!!


------解决方案--------------------
myComm.parameter.add(parm);
------解决方案--------------------
strSql="insert into T_Session (Session_ID) values('"+Session["UserID"].ToString()+"')";

------解决方案--------------------
如果Session_ID字段是字符型的
if(Session["UserID"]!=null)
{
strSql="insert into T_Session (Session_ID) values('"+Session["UserID"].ToString()+"')";
}
如果Session_ID是整数型的
strSql="insert into T_Session (Session_ID) values( "+Session["UserID"].ToString()+")";