向Ms-Access数据库插入日期的问题 [英] Problem with inserting date to Ms-Access database

查看:89
本文介绍了向Ms-Access数据库插入日期的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的 Ms-Access 数据库表中以短日期格式的日期字段。

I have in my Ms-Access database table, a date field in Short Date format.

I在我的C#程序中 DateTimePicker 控制在 dd / MM / yyyy short 日期格式

I have in my C# program DateTimePicker control in dd/MM/yyyy short date format

我尝试使用C#代码插入数据,如下所示:

I try to insert data using C# code like this:

SQL = "insert into MyTbl(D_from,D_to) values (@MyFrom,@MyTo)";
OleDbCommand Cmd = Conn.CreateCommand();
OleDbParameter dateparam1 = Cmd.Parameters.AddWithValue("@MyFrom", DbType.DateTime);
dateparam1.Value = dt_From.Value; 

OleDbParameter dateparam2 = Cmd.Parameters.AddWithValue("@MyTo", DbType.DateTime);
dateparam2.Value = dt_To.Value;

Cmd.CommandText = SQL;
Cmd.ExecuteNonQuery();

我收到错误:条件表达式中的数据类型不匹配。 code>

and I got the error: Data type mismatch in criteria expression.

推荐答案

将Parameters.AddWithValue更改为Parameters.Add

change Parameters.AddWithValue to Parameters.Add

Cmd.Parameters.Add("@MyFrom", DbType.DateTime);

如果您使用 Parameters.AddWithValue 那么你需要将作为第二个参数,而不是DataType

if you use Parameters.AddWithValue then you need to pass the Value as Second Parameter, not the DataType

Cmd.Parameters.AddWithValue("@MyFrom", dt_From.Value);

还需要设置 CommandType 作为文本

这篇关于向Ms-Access数据库插入日期的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆