我的代码
string s = "";
try
{
myCon.Open();
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
s += myReader["UserName"] + "\n"; // here is the problem, I wish to show ["count"] ["GameDate"]
}
myReader.Close();
return s;
}
catch (Exception ex)
{
return ex.StackTrace;
}
finally
{
myCon.Close();
}
正如我所评论的那样,在我尝试添加其他两列GameDate
和count
之前,它一直运作良好:
{
s += myReader["UserName,count"] + "\n";
}
没有阅读,我将如何显示两列。
答案 0 :(得分:3)
我会改变关于此代码的各种事情 - 返回堆栈跟踪,好像它没有问题的有效数据是一个非常糟糕的主意,例如,你应该使用StringBuilder
而不是重复的字符串连接。但是,只关注手头的问题...
要检索多个值,您只能将列添加到您为索引器指定的内容中。索引器用于从一个列中检索一个值。相反,您需要两次调用myReader
索引器 - 类似这样:
s += myReader["UserName"] + " " + myReader["count"] + "\n";
或者将格式与值检索分开:
s += string.Format("{0} {1}\n", myReader["UserName"], myReader["count"]);
答案 1 :(得分:1)
您需要在单独的语句中指定每个列。现在,它找不到一个名为“UserName,count”的列,所以我想它会引发异常。
您可以像这样更改代码:
s += myReader["UserName"].ToString() + myReader["count"].ToString() + "\n";