【发布时间】:2011-09-24 22:40:35
【问题描述】:
我正在从我的数据库表中检索 4 个字段。现在我想将它们添加到动态列表。如何将它们添加到列表中。 我试过这个:
public class myclass
{
public string StdDetails, StdAdderID;
public DateTime StdAddedDate, StdAddedTime;
}
public void buttonClick()
{
List<myclass> StdList = new List<myclass>();
myclass mc = new myclass();
OdbcCommand readStd =
new OdbcCommand("SELECT StdDetails, StdAddedDate," +
"StdAddedTime, StdAdderID" +
"FROM Students", Conn);
OdbcDataReader readStdreader =
readStd.ExecuteReader(CommandBehavior.SingleRow);
while (readStdreader .Read())
{
mc.StdDetails = readStdreader.GetString(0);
mc.StdDetails = readStdreader.GetString(3);
mc.StdDetails = readStdreader.GetDate(1);
mc.StdDetails = readStdreader.GetDateTime(2);
StdList.Add(mc);
}
MessageBox.Show(StdList[0].ToString());
}
在消息框中没有显示值?怎么办。请帮忙
//抱歉打错了:
替换这 3 行:
mc.StdDetails = readStdreader.GetString(3);
mc.StdDetails = readStdreader.GetDate(1);
mc.StdDetails = readStdreader.GetDateTime(2);
与:
mc.StdAddedDate= readStdreader.GetString(3);
mc.StdAdderID= readStdreader.GetDate(1);
mc.StdAddedTime= readStdreader.GetDateTime(2);
【问题讨论】:
-
一方面,您似乎正在将所有数据库值重新分配给“myclass”的 StdDetails 属性。 StdDetails 将始终等于 readStdreader.GetDateTime(2),其余属性将为空。
标签: c# .net winforms list dynamic