索引绑定错误

本文关键字:错误 绑定 索引 | 更新日期: 2023-09-27 18:37:25

当表单加载时,我希望学生表中的所有ID都插入到另一个表中。但是当我运行程序 ID 时,表中只有 1 个 ID 插入,但当 2 个 ID 将是插入它给出的错误是:

指数超出范围。必须是非负数且小于集合的大小。

所以任何人都可以帮助我

List<string> files = new List<string>();
query =  " select student_no from student_registration";
cmd = new SqlCommand(query, con);
con.Open();
dr = cmd.ExecuteReader();
while (dr.Read())
{
   files.Add(dr[0].ToString());
}
con.Close();
for (int i = 1; i <= files.Count; i++)
{
    query = "insert into student_fees values(" + files[i] + ",'0','0')";
    cmd = new SqlCommand(query, con);
    con.Open();
    cmd.ExecuteNonQuery();
    con.Close();
}

索引绑定错误

for (int i = 1; i <= files.Count; i++)

必须是

for (int i = 0; i < files.Count; i++)

改进它,你可以使用foreach循环:

foreach (string file in files)
{
    query = "insert into student_fees values(" + file + ",'0','0')";

当我们在做的时候,研究参数绑定你的陈述。想象一下,如果在你的列表中,一个元素是

"X,'0','0'); DROP DATABASE; --"