读书人

C#更新ACCESS数据库有关问题

发布时间: 2012-04-06 12:22:24 作者: rapoo

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);不报错嘛

读书人网 >C#

热点推荐