C# 从读卡器中打印出许多行
下面将从数据库中打印出1行C# 从读卡器中打印出许多行,c#,.net-3.5,asp.net-3.5,C#,.net 3.5,Asp.net 3.5,下面将从数据库中打印出1行 public partial class Default : System.Web.UI.Page { SqlConnection connection; SqlCommand command; SqlDataReader reader; protected void Page_Load(object sender, EventArgs e) { using (connection = new SqlConne
public partial class Default : System.Web.UI.Page
{
SqlConnection connection;
SqlCommand command;
SqlDataReader reader;
protected void Page_Load(object sender, EventArgs e)
{
using (connection = new SqlConnection(ConfigurationManager.AppSettings["connString"]))
{
using (command = new SqlCommand("select col1, col2 from table1 where id = @id", connection))
{
command.Parameters.Add("@id", SqlDbType.Int, 3).Value = 1;
connection.Open();
using (reader = command.ExecuteReader())
{
reader.Read();
Div1.InnerHtml = reader["col1"].ToString();
}
}
}
}
}
这里需要做什么才能打印出返回的所有行?将读取调用放入while循环:
using (var reader = command.ExecuteReader())
{
var builder = new StringBuilder();
while (reader.Read())
{
builder.Append(reader["col1"].ToString());
}
Div1.InnerHtml = builder.ToString();
}
另外,您似乎有一个页面隐藏文件,其主要关注点应该是访问数据库的页面。在设计类时,您可能希望了解坚实的原则。在这种情况下,违反了单一责任原则。遵循这些原则有助于可维护性、代码重用,并使重构更加容易。将读取调用放入while循环:
using (var reader = command.ExecuteReader())
{
var builder = new StringBuilder();
while (reader.Read())
{
builder.Append(reader["col1"].ToString());
}
Div1.InnerHtml = builder.ToString();
}
另外,您似乎有一个页面隐藏文件,其主要关注点应该是访问数据库的页面。在设计类时,您可能希望了解坚实的原则。在这种情况下,违反了单一责任原则。遵循这些原则有助于可维护性、代码重用,并使重构更加容易。此处:
using (reader = command.ExecuteReader())
{
var sb = new StringBuilder();
while (reader.Read())
{
sb.Append(reader["col1"].ToString());
}
Div1.InnerHtml = sb.ToString();
}
此外,由于您正在方法中实例化连接对象,因此实际上不需要将它们设置为私有字段:
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (var connection = new SqlConnection(ConfigurationManager.AppSettings["connString"]))
using (var command = new SqlCommand("select col1, col2 from table1 where id = @id", connection))
{
command.Parameters.Add("@id", SqlDbType.Int, 3).Value = 1;
connection.Open();
using (var reader = command.ExecuteReader())
{
var sb = new StringBuilder();
while (reader.Read())
{
sb.Append(reader.GetString(reader.GetOrdinal("col1")));
}
Div1.InnerHtml = sb.ToString();
}
}
}
}
在这里:
此外,由于您正在方法中实例化连接对象,因此实际上不需要将它们设置为私有字段:
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
using (var connection = new SqlConnection(ConfigurationManager.AppSettings["connString"]))
using (var command = new SqlCommand("select col1, col2 from table1 where id = @id", connection))
{
command.Parameters.Add("@id", SqlDbType.Int, 3).Value = 1;
connection.Open();
using (var reader = command.ExecuteReader())
{
var sb = new StringBuilder();
while (reader.Read())
{
sb.Append(reader.GetString(reader.GetOrdinal("col1")));
}
Div1.InnerHtml = sb.ToString();
}
}
}
}
不完全确定你最后一句关于水平切片的话是什么意思?不完全确定你最后一句关于水平切片的话是什么意思?