SQL テーブルに書き込んでから削除しようとしています。WRITE コードは問題ありませんが、DELETE コードが思い通りに機能しません。
//SQL_ConnectionString defined above
SqlConnection SQL_Connection = new SqlConnection(SQL_ConnectionString)
string INSERT = "INSERT INTO " + tbTable_DAQ.Text + " (Date, Time, Comment)";
string VALUES = "VALUES " + " (@Date, @Time, @Comment)";
string SQL_WriteString = INSERT + VALUES;
DateTime DateTimeNow = DateTime.Now;
try
{
//get time
DateTimeNow = DateTime.Now;
//create SQL command object
SqlCommand SQL_Write = new SqlCommand(SQL_WriteString, SQL_Connection);
//attach values
SQL_Write.Parameters.AddWithValue("@Date", DateTimeNow);
SQL_Write.Parameters.AddWithValue("@Time", DateTimeNow);
SQL_Write.Parameters.AddWithValue("@Comment", "Table Access Test. ");
SQL_Write.ExecuteNonQuery();
//dispose & nullify SQL_Write
SQL_Write.Dispose();
SQL_Write = null;
}
catch (Exception eWrite)
{
MessageBox.Show(eWrite.ToString(), "SQL WRITE ERROR", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
//now delete inserted row from SQL table
string DELETE = "DELETE FROM " + tbTable_DAQ.Text + " ";
string FROM = "WHERE " + "Date = " + DateTimeNow + "AND " + "Time = " + DateTimeNow
+ "AND " + "Comment='Table Access Test.'"; //not working
string SQL_DeleteString = DELETE + FROM;
try
{
//create SQL command object
SqlCommand SQL_Delete = new SqlCommand(SQL_DeleteString, SQL_Connection);
SQL_Delete.ExecuteNonQuery();
//dispose & nullify SQL_Delete
SQL_Delete.Dispose();
SQL_Delete = null;
}
catch (Exception eDelete)
{
MessageBox.Show(eDelete.ToString(), "SQL DELETE ERROR", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
エラーが発生します。エラーは、日付と時刻の列の値によるものだと思います。WRITE コードでは、 (date 型) と(time7 型)DateTimeNow
で受信するとSQL テーブルが変換されると思います。ただし、その特定の行を削除するには、値が一致する必要があり (変換は行われません)、値を正しく取得する方法がわかりません。Date
Time