gpt4 book ai didi

c# - 索引超出范围异常 - C#

转载 作者:太空狗 更新时间:2023-10-29 22:22:38 24 4
gpt4 key购买 nike

我想从 SqlDatabase 读取数据,但我收到了 IndexOutOfRangeException,这是我的表的屏幕截图: enter image description here

所以这里我有一个函数可以从数据库中获取数据并将其存储到类(class)列表类中,我在类(class)中得到了异常。Add():

 public List<Lesson> GetLessonsFromDay(string Day)
{
command.CommandText = "SELECT * FROM [Scadule] WHERE [day]='" + Day + "'";
con.Open();

SqlDataReader sdr = command.ExecuteReader();
List<Lesson> lessons = new List<Lesson>();
while (sdr.Read())
{
lessons.Add(new Lesson(Day, (int)sdr["[num]"], (string)sdr["[time]"],(string)sdr["[class]"],(string)sdr["[where]"]));
}

con.Close();
return lessons;
}

这是我的类(class):

public class Lesson
{
public Lesson(string Day, int Num, string Time, string Class, string Where)
{
this.Day = Day;
this.Num = Num;
this.Time = Time;
this.Class = Class;
this.Where = Where;
}

public string Day { get; set; }
public int Num { get; set; }
public string Time { get; set; }
public string Class { get; set; }
public string Where { get; set; }
}

最佳答案

如果您提供的列名不存在,

IndexOutOfRangeException 将由 SqlDataReader[string name] 重载抛出。

您在列名称字符串中包含了 [] 大括号,例如[num]",列名可能只是"num",尝试去掉大括号应该没问题。

关于c# - 索引超出范围异常 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20935735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com