2016-12-28 70 views
0

我想將數據插入到一個.MDB文件,但我得到這個錯誤:C#錯誤時插入數據到數據庫

Error

這是我.MDB表:

My Database

這是我的代碼:

private void btn_Save_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     string sql = string.Format("insert into Input (Tgl, p, l, t, Shift, Grup, Good Board, Reject Board, Wood, Emulsion, Glue, NH4CL, Urea, Rambung, Meranti, Veneer, Potongan, Lamtoro, Log End, Saw Dust, Sembarang, MDF Screen Dust, Kemiri, Slab Durian, Flakes) VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}','{20}','{21}','{22}','{23}','{24}')", dateTimePicker1.Text, txt_p.Text, txt_l.Text, txt_t.Text, txt_Shift, txt_Group, txt_GoodBoard.Text, txt_RejectBoard.Text, txt_Wood.Text, txt_Emulsi.Text, txt_Glue.Text, txt_NH4CL.Text, txt_Urea.Text, txt_Rambung.Text, txt_Meranti.Text, txt_Veneer.Text, txt_Potongan.Text, txt_Lamtoro.Text, txt_LogEnd.Text, txt_SawDust.Text, txt_Sembarang.Text, txt_MDFScreenDust.Text, txt_Kemiri.Text, txt_SlabDurian.Text, txt_Flakes.Text); 

     OleDbConnection conn = new OleDbConnection(koneksi); 
     conn.Open(); 

     OleDbCommand cmd = new OleDbCommand(sql, conn); 
     cmd.ExecuteNonQuery(); 

     conn.Close(); 
     MessageBox.Show("Data Page 1"); 
    } 
    catch (OleDbException salah) 
    { 
     MessageBox.Show(salah.ToString()); 
    } 
} 

當我插入3列時,它可以工作,但是當我想插入許多列時,代碼不起作用。

我不知道我的發言可能有什麼問題。我已經搜索了許多類似的問題,但仍然不知道我的代碼有什麼問題。任何人都可以幫我解決這個問題嗎?或者沒有人有解決我的代碼的建議嗎?這是我第一次使用.MDB數據庫文件。

感謝

+0

看起來像你錯過了'.Text'這裏..'txt_Shift,txt_Group' –

+0

[SQL注入警報](http://msdn.microsoft.com/en-us/library/ms161953%28v=sql.105% 29.aspx) - 您應該**不**將您的SQL語句連接在一起 - 使用**參數化查詢**來代替以避免SQL注入 –

回答

0

嘗試更換您的insert into Input ...INSERT INTO [Input] ...

+0

SQL不區分大小寫 – Yousaf

+0

@Yousaf yes,注意'[Input]';) –