如何将数据从文本框和日期/时间插入Access数据库?

时间:2015-04-20 00:44:42

标签: c#

我试图将值插入本地托管的访问数据库,但我相信我为Access传递了错误的值。

connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
command.CommandText = "INSERT INTO Tracker(INum,IName,IVio,IDate,ISanc,ITodayDate,IGnG) values('" + txtNumber + "','" + txtName + "','" + txtVio + "','" + calDate + "','" + txtSan + "', '" + calTodayDate + "','" + txtGnG + "')";
command.ExecuteNonQuery();

谁能告诉我自己可能做错了什么?这是进入提交按钮。 错误:[http://screencast.com/t/yynPsrs5][1]

我添加了显示错误的图片。

  • 方框1:数字
  • 方框2& 3:文字
  • 专栏4:短日期(1/1/2001)
  • 方框5:文字
  • 专栏6:短日期(1/1/2001)
  • 方框7:文字

根据错误,第40行出现问题,这就是我在第40行所遇到的问题; command.ExecuteNonQuery();

1 个答案:

答案 0 :(得分:0)

试试这个:

        command.CommandText = "INSERT INTO Tracker(INum,IName,IVio,IDate,ISanc,ITodayDate,IGnG) values(@txtNumber,@txtName,@txtVio,@calDate,@txtSan,@calTodayDate,@txtGnG)";
        command.Parameters.Add(new OleDbParameter("@txtNumber", txtNumber);
        command.Parameters.Add(new OleDbParameter("@txtName", txtName);
        command.Parameters.Add(new OleDbParameter("@txtVio", txtVio);
        command.Parameters.Add(new OleDbParameter("@calDate", calDate);
        command.Parameters.Add(new OleDbParameter("@txtSan", txtSan);
        command.Parameters.Add(new OleDbParameter("@calTodayDate", calTodayDate);
        command.Parameters.Add(new OleDbParameter("@txtGnG", txtGnG);
        command.ExecuteNonQuery();

在运行查询之前,请确保所有值都在正确的类型上。