询问此错误:其他信息:索引(从零开始)必须大于或等于零并且小于参数列表的大小
本文关键字:等于零 小于 列表 大于 参数 其他 错误 信息 索引 从零开始 | 更新日期: 2023-09-27 18:28:33
这是我第一次。嗨,我正在做一个SQL项目,并写了一个C#程序来检索它。但我无法解决这个错误。请帮帮我。谢谢。这里是我的代码:
private void Insert_Click(object sender, EventArgs e) {
var db = new DataClasses1DataContext();
db.ExecuteCommand("INSERT INTO Students VALUES ({105},{ali},{askari}, {ma@yahoo.com},{091345})",
new object[] { textBox1.Text, textBox2.Text, textBox3.Text, textBox5.Text, textBox6.Text });
dataGridView1.DataSource = db.Students;
}
您应该更改
INSERT INTO Students VALUES ({105},{ali},{askari}, {ma@yahoo.com},{091345}
至
"INSERT INTO Students VALUES ({0},{1},{2},{3},{4})"
这是一个简单的字符串格式问题,其中参数需要采用该格式。
ExecuteCommand接受一个params[]对象和一个格式字符串。看起来这就是你想要使用的。
在这种情况下,你错了,应该是:
db.ExecuteCommand("INSERT INTO Students VALUES ({0},{1},{2},{3},{4})",
105, "ali", "askari", "ma@yahoo.com", 091345);
参数编号基于位置:
//db.ExecuteCommand("INSERT INTO Students VALUES ({105},{ali},{askari}, {ma@yahoo.com},{091345})",
db.ExecuteCommand("INSERT INTO Students VALUES ({0},{1},{2},{3},{4})",
new object[] { textBox1.Text, textBox2.Text, textBox3.Text, textBox5.Text, textBox6.Text });
目前还不清楚您想要的{105},{ali},{askari}, ...
值是什么意思。
您可能还需要在字符串值周围加引号,例如:
db.ExecuteCommand("INSERT INTO Students VALUES ({0}, '"{1}'", '"{2}'", '"{3}'", '"{4}'")",