我的问题是,当我进行查询并想将此查询加载到richtextbox中时,它不会显示所有结果。
例如:
date: 22-03-2019
subject: Math
date: 24-03-2019
subject: Grammer
但是当我加载richtextbox时,我看到了第一个结果,第二个结果没有显示。
conn.Open();
var cmd = new SqlCommand($"SELECT date, subject FROM table WHERE table.id > 5", conn)
while (reader.Read())
{
rtb.Text=Convert.ToDateTime(reader[0]).ToString("dd-MM-yyyy") + "\n" +
(reader[1]).ToString();
}
答案 0 :(得分:0)
假设我们有一个包含两列的表格(categoryID,CategoryName) 并且我们希望在一行中显示每一行:
void PrintRows(SqlConnection connection)
{
using (connection)
{
SqlCommand command = new SqlCommand(
"SELECT CategoryID, CategoryName FROM Categories;",
connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
Console.WriteLine("{0}\t{1}", reader.GetInt32(0),
reader.GetString(1));
}
}
else
{
Console.WriteLine("No rows found.");
}
reader.Close();
}
}
在您遇到的情况下,您应该像这样修改代码:
conn.Open();
var cmd = new SqlCommand($"SELECT date, subject FROM table WHERE table.id > 5", conn)
while (reader.Read())
{
rtb.AppendText(reader.GetDateTime(0).ToShortDateString() + "\n" +reader.GetString(1));
}