asp.net中如何向access数据库中插入日期类型数据[插入的数据为变量]?

时间:2022-10-27 21:45:25
比如下面的代码,编译器提示错误:异常详细信息: System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误。

代码:
    conNews= new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=D:\\work\\news.mdb");
      strInsert="Insert Into list (classid,name,date,url,class) Values (?,?,?,?,?)";
      cmdInsert=new OleDbCommand( strInsert, conNews);

      cmdInsert.Parameters.Add("@classid",idClass);
      cmdInsert.Parameters.Add("@name",TextBox2.Text);
      cmdInsert.Parameters.Add("@date",System.DateTime.Parse(TextBox3.Text));
我知道常量的日期类型要输入##,但这种情况下如何插入日期呢?

6 个解决方案

#1


up

#2


up

#3


strInsert="Insert Into list (classid,name,date,url,class) Values (@classid,@name,@date,@url,@class)";

#4


.net中向access数据库插入数据变量用“?”,而不是@变量。
找到原因了,我用了关键字date 改个名字就好了 还是谢谢你哈

#5


来晚了

#6


再问个问题,conNews= new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=D:\\work\\news.mdb");  
这段如果我用conNews= new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+server.mappath("news.mdb"));编译器会提示我:CS0246: 找不到类型或命名空间名称“server”(是否缺少 using 指令或程序集引用?),需要引入什么命名空间吗? 
那为什么我新建一个aspx的页面直接赋代码<%=server.mappath("news.mdb")%>编译就成功通过而且显示出正确的值?

#1


up

#2


up

#3


strInsert="Insert Into list (classid,name,date,url,class) Values (@classid,@name,@date,@url,@class)";

#4


.net中向access数据库插入数据变量用“?”,而不是@变量。
找到原因了,我用了关键字date 改个名字就好了 还是谢谢你哈

#5


来晚了

#6


再问个问题,conNews= new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source=D:\\work\\news.mdb");  
这段如果我用conNews= new OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source="+server.mappath("news.mdb"));编译器会提示我:CS0246: 找不到类型或命名空间名称“server”(是否缺少 using 指令或程序集引用?),需要引入什么命名空间吗? 
那为什么我新建一个aspx的页面直接赋代码<%=server.mappath("news.mdb")%>编译就成功通过而且显示出正确的值?