以下代碼無法正常工作。C# - Mysql DateTime比較
public int getRecord(int number, DateTime startingDateTime)
{
int id=-1;
string stm = "SELECT * FROM history WHERE number= '"
+ number + "' AND 'startingDateTime' = '" + startingDateTime+ "'";
try
{
con.Open();
cmd = new MySqlCommand(stm, con);
}
catch (Exception e)
{
ErrorMessage = e.Message;
con.Close();
return 0;
}
try
{
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
id = rdr.GetInt32(0);
}
}
catch (Exception e)
{
ErrorMessage = e.Message;
con.Close();
return 0;
}
con.Close();
return 1;
}
語法沒有問題,至少它沒有警告我。但是,錯誤的是:
無效嘗試讀取調用之前訪問一個字段()
我想比較兩個日期時間變量。邏輯對我來說看起來很好。如果有人知道這個訣竅,我正在等待它。
爲什麼你將你的數字和日期時間值存儲爲一個字符?爲什麼你的列名稱'startingDateTime'有單引號呢? –
Soner,hacıbenbayağıyeniyim bu mysql de。 internettengördüğümkadarıylayapıyorumtırnakniyekullanılırfilanhiçbilmiyorum yani。 bu konudadaaraştırdımama benzerbişeyerastgelmedim。 –
確保rdr不爲空。你可能沒有得到任何匹配。 DateTime可能包含不匹配的秒和毫秒。使用DateTime的'Date'將截斷到午夜的一天,或者在一天之間使用之間的某個日期範圍內匹配,如午夜到午夜。 – jdweng