我在 Insert INTO 语句中收到“语法错误,但我不知道原因。
我将该声明与我在该工作中找到的其他声明进行了比较,发现没有结构上的差异。唯一的区别是,在这一个中,我试图在我的 MS Access 数据库中保存一个 DateTime。
我在 MS Access 中为日期/时间设置了我的数据库字段,格式为 MM/DD/YY HH:MM:SS AM(或 PM)。我的 DateTime 格式设置相同。
当我设置一个断点并执行它时,我可以看到传递的 DateTime 格式是正确的,并且与 MS Access 中的一般格式相匹配。
我确定问题出在我身上,但如果我能看到它,我会很生气。这是我的代码:
//method to save user input to database
public static void SaveData(ProgramLoginBOL busObject)
{
try
{
String sSQLCommand = "INSERT INTO ProgramLogin ( " +
"UserName, DateTime) VALUES ('" + busObject.UserName +
"','" + busObject.DtDate + "')";
if (aConnection.State == ConnectionState.Closed)
{
aConnection.Open();
}
OleDbCommand cmd = aConnection.CreateCommand();
cmd.CommandText = sSQLCommand;
// Execute the SQL command
cmd.ExecuteNonQuery();
aConnection.Close();
MessageBox.Show("Data Saved");
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
MessageBox.Show("Error! Data was not saved.");
}
}
正如我所说,调试显示busObject.DtDate
与 MS Access 日期/时间格式匹配