如何使用c#2010更新access数据库中的数据
//我使用这段代码,但它在update语句中显示语法错误,最后一个参数在哪里如何使用c#2010更新access数据库中的数据,c#,visual-studio-2010,C#,Visual Studio 2010,//我使用这段代码,但它在update语句中显示语法错误,最后一个参数在哪里 OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\SummerJob\DataBase.accdb"); string cmdtxt = "UPDATE Students SET S_Name = ?, S_Surname = ?, S_E-Mail
OleDbConnection vcon = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\SummerJob\DataBase.accdb");
string cmdtxt = "UPDATE Students SET S_Name = ?, S_Surname = ?, S_E-Mail = ? WHERE ID = ?";
OleDbCommand cmd = new OleDbCommand(cmdtxt, vcon);
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("S_Name", EditName.Text);
cmd.Parameters.AddWithValue("S_Surname", editSurname.Text);
cmd.Parameters.AddWithValue("S_E-Mail", editMail.Text);
vcon.Open();
cmd.ExecuteNonQuery();
vcon.Close();
不确定,但我敢打赌,如果没有这个参数,您的查询在解析器看来是不正确的。您需要传递ID吗?通过类似cmd.Parameters.AddWithValue(“ID”,ID.Text)的SqlParameter
还要确保参数的添加顺序与它们出现的顺序相同ID是要编辑的行吗?如果(StudentList.SelectedItems.Count>0){this.index=StudentList.selectedices[0];}如果我使用listview显示数据库成员,我可以使用索引作为ID吗?我不这么认为,也许对于某些项目,您得到了正确的值,但是您应该在数据库表中引用正确的ID。加载数据时,需要将此信息存储在某个位置。ID参数代表什么?它是要编辑的行还是什么?ID是Students表的ID列,因此Students表中的每一行都有唯一的ID这是主键。例如,我想编辑我在listview中选择的行,我想通过名为editname editname和editmail的文本框传递它们的值。我应该怎么做?代码应该是什么,然后将更新的数据存储回listview os的数据库名称中studenList@DitoQarcidze上面的代码是正确的,只需在sqlparameter中传递ID即可
ID=?