2015-09-26 57 views
0
private void button3_Click(object sender, EventArgs e) 
    { 
     if (textBox2.Text != "" & listBox1.SelectedIndex != -1) 
     { 
      string q = "update info set name='" + textBox2.Text.ToString() + "' where id " + listBox1.SelectedItem.ToString(); 
      dosomething(q); 
      textBox2.Text = ""; 


     } 
    } 
private void dosomething(String q) 
    { 
     try { 
      cn.Open(); 
      cmd.CommandText = q; 
      cmd.ExecuteNonQuery(); 
      cn.Close(); 
      loaddata(); 

     } 

每當我試圖用我的程序來更新從MS Access數據我得到這個錯誤: enter image description here無法查詢MS Access數據庫:「語法錯誤(缺少操作員)在查詢表達式」

有我的代碼有問題嗎?

+1

**警告**您正在介紹sql注入攻擊! –

回答

1

您需要在id " + listBox1.SelectedItem.ToString();之間的運營商。所以:

id = " + listBox1.SelectedItem.ToString(); 

或任何運營商要使用像>,> =,等等

還你:

string q = "update info set name='" + 

,但它需要:

通知我在名稱和=符號之間加了一個空格。

相關問題