Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.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
更新Datagrid中除ID(MySQL数据库VB.NET)之外的所有列中的数据_Mysql_Vb.net - Fatal编程技术网

更新Datagrid中除ID(MySQL数据库VB.NET)之外的所有列中的数据

更新Datagrid中除ID(MySQL数据库VB.NET)之外的所有列中的数据,mysql,vb.net,Mysql,Vb.net,这是我的程序的功能。这是一个患者管理系统,系统可以添加、删除和更新,但我编码了一个自动生成随机键,它将创建随机键,我在Mysql数据库的ID列上未选中主键,数据类型为INT,所以这个程序在添加记录时会自动生成一个随机ID,而不是MySql数据库自动生成ID数字顺序。问题是,当我单击“更新”按钮时,它表明我的语法不正确,有时它会显示主键的重复输入键“xxxxx”,这意味着它会复制、替换或再次保存ID。我的问题是 如何在不更改或影响ID键的情况下更新列中的所有记录 Update语句没有Where条件

这是我的程序的功能。这是一个患者管理系统,系统可以添加、删除和更新,但我编码了一个自动生成随机键,它将创建随机键,我在Mysql数据库的ID列上未选中主键,数据类型为INT,所以这个程序在添加记录时会自动生成一个随机ID,而不是MySql数据库自动生成ID数字顺序。问题是,当我单击“更新”按钮时,它表明我的语法不正确,有时它会显示主键的重复输入键“xxxxx”,这意味着它会复制、替换或再次保存ID。我的问题是

如何在不更改或影响ID键的情况下更新列中的所有记录

Update语句没有Where条件,因此它将使用相同的ID更新表中的所有行,这就是为什么会出现该错误

编辑:只需像这样将WHERE添加到更新语句中

cmd.CommandText = String.Format("UPDATE newpatient SET " &
                                "ID='{0}', " &
                                "Lastname='{1}', " &
                                "Firstname= '{2}', " &
                                "Middlename= '{3}', " &
                                "Age= '{4}', " &
                                "Gender= '{5}', " &
                                "Address= '{6}', " &
                                "Occupation= '{7}', " &
                                "Month= '{8}', " &
                                "Day= '{9}', " &
                                "Year= '{10}'" &
                                "WHERE ID={11}, ' here we add where
                                txtID.Text,
                                txtFirstname.Text,
                                txtFirstname.Text,
                                txtMiddlename.Text,
                                txtAge.Text,
                                cmbGender.SelectedItem,
                                txtAddress.Text,
                                txtOccupation.Text,
                                cmbMonth.SelectedItem,
                                cmbDay.SelectedItem,
                                cmbYear.SelectedItem,
                                yourID)

你几乎肯定不想更新ID。在missing WHERE子句中使用它。你能给我正确的语法吗?我不知道正确的语法是什么。对不起,我只是一名IT专业的学生,我试图在谷歌上搜索答案,但没有找到任何答案
cmd.CommandText = String.Format("UPDATE newpatient SET " &
                                "ID='{0}', " &
                                "Lastname='{1}', " &
                                "Firstname= '{2}', " &
                                "Middlename= '{3}', " &
                                "Age= '{4}', " &
                                "Gender= '{5}', " &
                                "Address= '{6}', " &
                                "Occupation= '{7}', " &
                                "Month= '{8}', " &
                                "Day= '{9}', " &
                                "Year= '{10}'" &
                                "WHERE ID={11}, ' here we add where
                                txtID.Text,
                                txtFirstname.Text,
                                txtFirstname.Text,
                                txtMiddlename.Text,
                                txtAge.Text,
                                cmbGender.SelectedItem,
                                txtAddress.Text,
                                txtOccupation.Text,
                                cmbMonth.SelectedItem,
                                cmbDay.SelectedItem,
                                cmbYear.SelectedItem,
                                yourID)