这是我现有的代码。它可以正常工作,但只返回一行数据。从 SQL 语句中可以看到,在我使用表单中的 datagrid 时,需要返回 2 行数据。虽然该程序读取了 2 行数据,但只显示了一行。NameAddrmark 是字段的构造函数。
在我的表单中,我将cms返回到一个列表中。将数据网格的数据源设置为该列表。它可以正确显示第一行,但我需要显示两行。希望有人可以帮忙。谢谢。
public NameAddrmark GetNameRespCommentData(string respid)
{
NameAddrmark cms = new NameAddrmark();
//var cms = new List<NameAddrmark>();
SqlConnection connection = new SqlConnection(GeneralData.getConnectionString());
string sql = "SELECT top 2 * FROM dbo.RESPONDENT_COMMENT WHERE respid = " + GeneralData.AddSqlQuotes(respid) + " and USRNME = " + GeneralData.AddSqlQuotes(UserInfo.UserName) + " order by COMMDATE ASC";
SqlCommand command = new SqlCommand(sql, connection);
try
{
connection.Open();
SqlDataReader reader = command.ExecuteReader(CommandBehavior.SingleResult);
while(reader.Read())
//if (reader.Read())
{
cms.Id = respid;
cms.Date8 = reader["COMMDATE"].ToString();
cms.Usrnme = reader["USRNME"].ToString();
cms.Marktext = reader["COMMTEXT"].ToString();
}
//else
// cms = null;
}
catch (SqlException ex)
{
throw ex;
}
finally
{
connection.Close();
}
return cms;
}
在我的表单中,我将cms返回到一个列表中。将数据网格的数据源设置为该列表。它可以正确显示第一行,但我需要显示两行。希望有人可以帮忙。谢谢。