My code is below. I have a method where I pass in three parameters and they get written out to an MS Access database table. However, I keep getting a syntax error message. Can anyone tell me why? I got this example from the internet.
private static void insertRecord(string day, int hour, int loadKW)
{
string connString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\LoadForecastDB.accdb";
OleDbConnection conn = new OleDbConnection(connString);
string ins = @"INSERT INTO Forecasts (Day, Hour, Load) VALUES (?,?,?)";
OleDbCommand cmd = new OleDbCommand(ins, conn);
cmd.Parameters.Add("@day", OleDbType.VarChar).Value = day;
cmd.Parameters.Add("@hour", OleDbType.Integer).Value = hour;
cmd.Parameters.Add("@load", OleDbType.Integer).Value = loadKW;
conn.Open();
try
{
int count = cmd.ExecuteNonQuery();
}
catch (OleDbException ex)
{
Console.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
}
I think this could be because your column names (Day and Hour) are also keywords. Maybe you can put ` (inverted single quotes) around them (that works in MySQL, don't know about MS Access)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With