使用access + asp.net/C#插入错误

时间:2014-09-06 14:46:49

标签: c# asp.net ms-access

即可将新数据插入Access表。 该表有4个参数。第一个是自动编号。 这是我的代码:

public void InsertToDB(int stationId, DateTime dateTime, double temperture)
{

    connect.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Database1.accdb";

    OleDbCommand cmd = new OleDbCommand();
    cmd.Connection = connect;
    cmd.CommandText = "Insert Into TempDate (StationID,DateTime,Temper)" + "Values(@ID,@dateTime,@temper)";

    cmd.Parameters.Add("@ID", OleDbType.Integer).Value = stationId;
    cmd.Parameters.Add("@dateTime", OleDbType.Date).Value = dateTime;
    cmd.Parameters.Add("@temper", OleDbType.Double).Value = temperture;

    connect.Open();
    cmd.ExecuteNonQuery();          //At this line exception is generating
    connect.Close();


}// insert to db

我收到此错误:

错误码= -2147217900

2 个答案:

答案 0 :(得分:1)

您在值之前缺少空格。你可以把它放在一个字符串中,不需要连接它们。此外,正如戈德所说 - DateTime是一个保留字 - 所以把它放在括号中。例如:

cmd.CommandText = "Insert Into TempDate (StationID,[DateTime],Temper) Values (@ID,@dateTime,@temper)";

答案 1 :(得分:0)

DATETIME显然是一个保留字,因此您需要将其括在方括号中:

cmd.CommandText = "Insert Into TempDate (StationID,[DateTime],Temper)" + ...