为了账号安全,请及时绑定邮箱和手机立即绑定

关于C#的数据库操作?

关于C#的数据库操作?

C#
迦尔纳 2016-12-31 19:47:42
                    mysql = "UPDATE CS SET [ID] = '"+IDx+"',[课程] = '" + textBox1.Text + "' WHERE ID = IDx";                    mycmd.CommandText = mysql;                    mycmd.Connection = myconn;                    mycmd.ExecuteNonQuery();这里总是编译出现问题: 至少一个参数没有被指定值。用的是ACCESS数据库,里面只有一个ID和课程,懵逼ing大神求解!
查看完整描述

5 回答

?
HJim

TA贡献6条经验 获得超8个赞


mysql = "UPDATE CS SET [ID] = "+IDx.ToString()+",[课程] = '" + textBox1.Text + "' WHERE ID = " + IDx.ToString();

有两个错误:

第一个,ID字段应该是数字型,sql语句对于数字型的值不能加单引号

第二个,IDx是外部个变量名,写到sql语句里,sql语句根本不会认识它

最后说一句,上面有很多回复者说的很对,对于这种复杂的string构造时强烈建议多使用string.Format函数,原因有很简单,它能够帮助你很容易读懂string的构造逻辑和意图。就算出错了,回过头来很容易修改。就是可读性高了。

查看完整回答
1 反对 回复 2017-01-04
?
westcars

TA贡献3条经验 获得超1个赞

多用string.format,如:bar strsql=string.format("select * from table name where idx={0}",变量名);
查看完整回答
1 反对 回复 2017-01-03
?
qq_no_8

TA贡献3条经验 获得超0个赞

哈哈哈
查看完整回答
反对 回复 2017-01-02
?
迦尔纳

TA贡献3条经验 获得超0个赞

嘻嘻嘻,那个idx是变量,要提到括号外面,嘻嘻嘻

查看完整回答
反对 回复 2017-01-01
?
迦尔纳

TA贡献3条经验 获得超0个赞


 int idx = listBox1.SelectedIndex + 1;
            label2.Text = idx.ToString();
            mysql = "DELETE FROM CS WHERE ID = idx ";
            mycmd.CommandText = mysql;
            mycmd.Connection = myconn;
            mycmd.ExecuteNonQuery();

一样的错误,一样的懵逼,一样的夜不能寐

查看完整回答
反对 回复 2016-12-31
  • HJim
    HJim
    mysql = "DELETE FROM CS WHERE ID = idx ";改成mysql = "DELETE FROM CS WHERE ID = “+ idx.ToString() ;
  • 5 回答
  • 0 关注
  • 1823 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信