我编写了更新按钮和删除按钮的代码。 我的目的是更新和删除我插入到数据库中的数据(这是用phpmyadmin在mysql中创建的)。更新和删除按钮C#
更新按钮代码:
void ModificaBtnClick(object sender, EventArgs e)
{
Connessione.Open();
MySqlDataAdapter SDA=new MySqlDataAdapter("UPDATE INTO GARA set nome_gara='"+textBox1.Text+"',giudice='"+textBox2.Text+"',località='"+textBox3.Text+"',data='"+textBox4.Text+"',tpsopm='"+textBox5.Text+"',tpmopm='"+textBox6.Text+"',tpstot='"+textBox7+"',tpmtot='"+textBox8.Text+"')VALUES'"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','"+textBox7.Text+"','"+textBox8.Text+"')",Connessione);
SDA.SelectCommand.ExecuteNonQuery();
Connessione.Close();
MessageBox.Show("Dati modificati correttamente!");
}
删除按钮代码:
void CancellaBtnClick(object sender, EventArgs e)
{
Connessione.Open();
MySqlDataAdapter SDA=new MySqlDataAdapter("DELETE FROM GARA(nome_gara,giudice,località,data,tpsopm,tpmopm,tpstot,tpmtot)VALUES'"+textBox1.Text+"','"+textBox2.Text+"','"+textBox3.Text+"','"+textBox4.Text+"','"+textBox5.Text+"','"+textBox6.Text+"','"+textBox7.Text+"','"+textBox8.Text+"')",Connessione);
SDA.SelectCommand.ExecuteNonQuery();
Connessione.Close();
MessageBox.Show("Dati cancellati correttamente!");
}
我没有语法错误,但是当我运行该程序,我尝试修改或删除数据时,编译器向我展示一个未处理的异常(抛出了一个类型为MySql.Data.MySqlClient.MySqlException的未处理的异常)。当我退出窗口时,选择这条线SDA.SelectCommand.ExecuteNonQuery();
我使用相同的指令插入按钮,但它的工作原理。
你能帮助我吗?
编辑:我试过你的解决方案,但值不更新到数据库。我可以修改他们到DataGridView的,但是当我按下更新按钮不改变
语法不正确,'DELE TE从GARA WHERE ID = @ ID',你有'DELETE FROM GARA(Columns ...)'。如果你想保留你的数据库,也可以使用sql-parameters而不是字符串连接。否则,你打开sql注入。除此之外,直接使用'MySqlCommand'而不是'MySqlDataAdapter'。 –
内部例外应该为您提供更具体的信息 – DoctorMick
您应该使用参数。千万不要将这些值串联到你的查询中。阅读SQL注入 –