错误:索引(从零开始)必须大于或等于零且小于参数列表的大小
本文关键字:小于 等于零 参数 列表 大于 索引 从零开始 错误 | 更新日期: 2023-09-27 18:09:05
我正在尝试将数据插入到我的数据库中,下面是命令:
public static bool InsertUser(string Date, string Day, string HourFrom, string HourTo, int HoursWorked, int Where)
{
string sql = string.Format("INSERT INTO Tablee (Date, Day, HourFrom, HourTo, HoursWorked, Where)VALUES('{0}','{1}','{2}','{3}','{4}',{5},{6})", Date, Day, HourFrom, HourTo, HoursWorked, Where);
return DAL.ExecuteNonQuery(sql) != 0;
}
现在我得到了我在主题中写的错误,它来自我构建字符串Sql("INSERT INTO…")的行。有人知道我该怎么修理它吗?
注:'{0}'.'{1}'..的目的是什么?我从一个旧的项目中复制了它,我不记得为什么它在那里,它是做什么的。
您有七个索引列出(0-6)和只有6个参数。
删除{6}
有这个调用:
string.Format("...{0}','{1}','{2}','{3}','{4}',{5},{6}...", parameters...);
你应该提供7个参数,从0到6,目前你只提供6个:
Date, Day, HourFrom, HourTo, HoursWorked, Where
这是错误
一些有创意的格式说明了你的问题:
VALUES(
'{0}', '{1}', '{2}', '{3}', '{4}', {5}, {6})"
Date, Day, HourFrom, HourTo, HoursWorked, Where <<whoops
删除"6"或为其提供一个值