积极答复者
[求助]如何向SQL语句传递日期参数

问题
-
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = conn;
cmd.CommandText = "UPDATE [Yh_UrlTb] SET UrlStatus=true,LastTime=@LastTime Where UrlUserID=@UrlUserID";
cmd.Parameters.Add(new OleDbParameter("@UrlUserID", UrlUserID))
cmd.Parameters.Add(new OleDbParameter("@LastTime", DateTime.Now.ToString()))
我这样写不行,不入库也不报错,没有反映,请问要怎么写才正确呢?- 已移动 Sheng Jiang 蒋晟Moderator 2009年8月31日 17:22 数据库开发 (发件人:Visual C#)
答案
全部回复
-
1 @UrlUserId 在数据是否真的存在 ?2 你是否在此代码外使用了 try ... catch 并且没有显示的抛出异常3 如果你的数据是 Access 参数应为 ? 表示 如果是 SQL Server UrlStatus = true 应改为 UrlStatus = 1
知识改变命运,奋斗成就人生!- 已编辑 肖小勇Moderator 2009年8月31日 1:50
-
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\db1.mdb;"; using (OleDbConnection conn = new OleDbConnection(connectionString)) { OleDbCommand comm = new OleDbCommand("Update UserInfo SET LastTime = ? WHERE UserId = ?"); //comm.Parameters.Add("@LastTime", DateTime.Now); 出错 //显示的指定参数类型为日期类型 comm.Parameters.Add("@LastTime", OleDbType.DBDate, 0).Value = DateTime.Now; comm.Parameters.Add("@UserId", OleDbType.LongVarChar, 0).Value = "001"; comm.Connection = conn; conn.Open(); comm.ExecuteNonQuery(); }
知识改变命运,奋斗成就人生! -
参数按顺序传
cmd.Parameters.Add(new OleDbParameter("@LastTime", DateTime.Now.ToString()))
cmd.Parameters.Add(new OleDbParameter("@UrlUserID", UrlUserID))
http://feiyun0112.cnblogs.com/
谢谢 feiyun0112 的解答!