C#更新ACCESS数据库问题
问题如图,显示“索引必须大于等于0,且小于参数列表的大小”
问的access表名是person,里面只有3列“姓名”“手机”“性别”,目前只有2行记录。
要修改数据时弹出如上错误,不知道SQL语句是怎么错误的。
错误截图
数据库表
其中变量“str”为判断时用的:即当前选择的某一行记录的第一列的值。代码如下
[code=C#][/code]
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
str = mytable.Rows[e.RowIndex][0].ToString(); //为变量 str 赋值
textBox1.Text = mytable.Rows[e.RowIndex][0].ToString(); //为文本框属性赋值
textBox2.Text = mytable.Rows[e.RowIndex][1].ToString();
textBox3.Text = mytable.Rows[e.RowIndex][2].ToString();
}
------解决方案--------------------Format格式和参数数量是不是一样的
------解决方案--------------------[Quote=引用:]
问题如图,显示“索引必须大于等于0,且小于参数列表的大小”
问的access表名是person,里面只有3列“姓名”“手机”“性别”,目前只有2行记录。
要修改数据时弹出如上错误,不知道SQL语句是怎么错误的。
错误截图
数据库表
其中变量“str”为判断时用的:即当前选择的某一行记录的第一列的值。代码如下
[code=C#][/code]
privat……
[/Quote]
你没看到你手机和性别之间有两个逗号吗?
------解决方案--------------------貌似逗号 还是中文的
------解决方案--------------------在手机='{1}'后还多了一个','肯定是这个问题造成?
------解决方案--------------------string myupdate = string.Format (@"UPDATE person SET 姓名='{0}',手机='{1}',性别='{2}' WHERE 姓名='{3}'",name,phone,sex,str);不报错嘛