错误:索引(从零开始)必须大于或等于零且小于参数列表的大小

时间:2011-09-19 13:13:57

标签: c# sql database

我正在尝试将数据插入到我的数据库中,这是命令:

 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;
}

现在我收到了我在主题中写的错误,以及我构建String Sql的行(“INSERT INTO ...”)。任何人都知道我怎么能解决它?

P.S。 '{0}'的目的是什么。'{1}'..?我从我做过的旧项目中复制了它,我不记得为什么它在那里以及它做了什么。

3 个答案:

答案 0 :(得分:2)

您列出了 SEVEN 索引(0-6),只有6个参数。

删除{6}

答案 1 :(得分:2)

接到这个电话:

string.Format("...{0}','{1}','{2}','{3}','{4}',{5},{6}...", parameters...);

你提供7个参数,从0到6,只提供6:

Date, Day, HourFrom, HourTo, HoursWorked, Where

这是错误。

答案 2 :(得分:1)

一些有创意的格式说明了您的问题:

VALUES(
'{0}',   '{1}',   '{2}',      '{3}',    '{4}',         {5},      {6})"
Date,    Day,     HourFrom,   HourTo,   HoursWorked,   Where           <<whoops

删除“6”或为其提供值。