Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用MYSQL在C#中插入、删除、选择和更新datagridview中的值_C#_Mysql_Datagridview - Fatal编程技术网

如何使用MYSQL在C#中插入、删除、选择和更新datagridview中的值

如何使用MYSQL在C#中插入、删除、选择和更新datagridview中的值,c#,mysql,datagridview,C#,Mysql,Datagridview,下面是使用datagridview将值插入mysql数据库的代码。 但是selectcommand正在工作。由于我收到错误声明“列'username'不能为null”,所以它没有发生 如果使用ms access数据库,则不会弹出此错误。 有人能帮我吗。有没有其他方法可以做到这一点 我认为您需要更改添加到insert命令的参数的名称,以匹配insert SQL语句中指定的名称 尝试: 我很不确定,但是mysql不是使用带“?”-synatx的编号参数,还是使用带“:”-语法的命名参数,而不是语

下面是使用datagridview将值插入mysql数据库的代码。 但是selectcommand正在工作。由于我收到错误声明“列'username'不能为null”,所以它没有发生

如果使用ms access数据库,则不会弹出此错误。 有人能帮我吗。有没有其他方法可以做到这一点




我认为您需要更改添加到insert命令的参数的名称,以匹配insert SQL语句中指定的名称

尝试:


我很不确定,但是mysql不是使用带“?”-synatx的编号参数,还是使用带“:”-语法的命名参数,而不是语法处的(mssql)

比如:

MySqlCommand insertcommand = new MySqlCommand("insert into user(username,password) values(?, ?)", conn);
insertcommand.Parameters.Add(1, MySqlDbType.VarChar,50,"username");
insertcommand.Parameters.Add(2, MySqlDbType.VarChar, 50, "password");


使用datagrid(vb.net)在mysql中更新时遇到类似问题。解决方法是:

Dim cmb As New MySqlCommandBuilder(datGrid)
Me.datGrid.Update(datSet, "mysqlTableToUpdate")

嘿,谢谢你的回答。你完全正确。这只是一个小的语法错误。“:”生成错误。“?”很好。第二个代码段不起作用。这有点奇怪:这表明可以使用前缀为“@”的命名参数,就像dariom的anwer一样。
MySqlCommand insertcommand = new MySqlCommand("insert into user(username,password) values(?, ?)", conn);
insertcommand.Parameters.Add(1, MySqlDbType.VarChar,50,"username");
insertcommand.Parameters.Add(2, MySqlDbType.VarChar, 50, "password");
MySqlCommand insertcommand = new MySqlCommand("insert into user(username,password) values(:username, :pass)", conn);
insertcommand.Parameters.Add(":username", MySqlDbType.VarChar,50,"username");
insertcommand.Parameters.Add(":pass", MySqlDbType.VarChar, 50, "password");
Dim cmb As New MySqlCommandBuilder(datGrid)
Me.datGrid.Update(datSet, "mysqlTableToUpdate")