2016-06-26 101 views
0

我一直在C#中創建一個軟件。我試圖更新我的Access數據庫中的一些信息。這是我的數據庫字段。 Datetotal_hW_hoursdelay_h。主鍵是Date。所以我想更新數據在哪裏Date="datetimePicker.text"。這是我所嘗試的代碼。訪問數據庫沒有正確更新

try 
{ 
    connection.Open(); 
    OleDbCommand cmd = new OleDbCommand(); 
    cmd.Connection = connection;    
    string update = "update summery_data set total_h='"+tHour+"', delay_h='"+delay+"' WHERE Date= " + dateTimePicker1.Text + " ";  
        cmd.CommandText = update; 
        cmd.ExecuteNonQuery(); 
        MessageBox.Show(" Updated successfully"); 
        connection.Close(); 
} 
catch(Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
} 

程序運行正常,沒有任何異常,並顯示「已成功更新」消息。但是,當我打開並檢查數據庫的數據尚未更新。我無法理解問題是什麼......?請幫助我有人知道它。

+0

您正在尋找在數據庫的副本。請參閱連接字符串中的DataDictionary路徑。這是一個糟糕的查詢。始終使用參數來避免sql注入並避免格式錯誤。 – LarsTech

+0

你的專欄有哪些類型? –

+0

date:-date/time total_h:-Text,W_hours:-Text,delay_h:-text –

回答

1

變化

string update = ".... WHERE Date= " + dateTimePicker1.Text + " "; 

string update = ".... WHERE Date= DateValue ('" + dateTimePicker1.Text + "') ";