如何使用C#将数据插入MS访问
本文关键字:插入 MS 访问 数据 何使用 | 更新日期: 2023-09-27 18:21:00
我在ms访问中创建了一个数据库,在数据库中我有一个包含两列的表,第一列是Name
和Text
数据类型,另一列是Date
和Date/time
数据类型。我想在表中插入值,但它给出了月历的错误
条件表达式中的数据类型不匹配。
string sqlQuery = "INSERT INTO register (`Name`,`Date`) values (?,?)";
using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:'DB.accdb"))
using (OleDbCommand cmd = new OleDbCommand(sqlQuery, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@Name", this.textBox1.Text);
cmd.Parameters.AddWithValue("@Date", this.monthCalendar1.Text);
cmd.ExecuteNonQuery();
}
另一列是日期/时间数据类型
问题是您试图在该列中插入一个this.monthCalendar1.Text
字符串。您需要将DateTime
直接传递给它。
我们不知道这个monthCalendar1
控件到底是什么,但它应该有一些SelectedDate
属性或其他什么。如果没有,只需使用DateTime.Parse
或其他内容将此字符串解析为DateTime
。
不要使用AddWithValue
方法。它有时可能会产生意想不到的结果。使用Add
方法重载来指定参数类型及其大小。
将其从AddwithValue参数中删除