如何使用C#将数据插入MS访问

本文关键字:插入 MS 访问 数据 何使用 | 更新日期: 2023-09-27 18:21:00

我在ms访问中创建了一个数据库,在数据库中我有一个包含两列的表,第一列是NameText数据类型,另一列是DateDate/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();
}

如何使用C#将数据插入MS访问

另一列是日期/时间数据类型

问题是您试图在该列中插入一个this.monthCalendar1.Text字符串。您需要将DateTime直接传递给它。

我们不知道这个monthCalendar1控件到底是什么,但它应该有一些SelectedDate属性或其他什么。如果没有,只需使用DateTime.Parse或其他内容将此字符串解析为DateTime

不要使用AddWithValue方法。它有时可能会产生意想不到的结果。使用Add方法重载来指定参数类型及其大小。

将其从AddwithValue参数中删除