Insert INTO ステートメントで「構文エラー」が表示されますが、その理由がわかりません。
私はその声明を私が見つけた他のものと比較しましたが、構造上の違いは見つかりませんでした. 唯一の違いは、これでは MS Access データベースに DateTime を保存しようとしていることです。
MM/DD/YY HH:MM:SS AM (または PM) の一般的な形式の日付/時刻に設定された MS Access のデータベース フィールドがあります。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の日付/時刻形式と一致することを示しています