为什么此代码未在浏览器中显示 table?
Why this code is not showing table in browser?
在下面的 asp c# 代码中,我尝试使用 SqlDataReader 显示数据库 table 的内容,但它不起作用。此代码仅处理按钮单击事件。我怎样才能让它发挥作用?
protected void Button2_Click(object sender, EventArgs e)
{
GridView1.DataSource = null;
GridView1.DataBind();
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (con)
{
con.ConnectionString = CS;
DataTable dTbl = new DataTable();
dTbl.Columns.Add("ID");
dTbl.Columns.Add("Name");
dTbl.Columns.Add("Salary");
SqlCommand vmd = new SqlCommand();
vmd.Connection = con;
vmd.CommandText = "select * from [dbo].[employee]";
con.Open();
SqlDataReader dr = vmd.ExecuteReader();
while (dr.Read())
{
DataRow dRow = dTbl.NewRow();
dRow["ID"] = dr[0];
dRow["Name"] = dr[1];
dRow["Salary"] = dr[2];
dTbl.Rows.Add(dRow);
}
}
}
在while
代码块后添加
GridView1.DataSource = dTbl;
GridView1.DataBind();
并从您的代码开头删除 GridView1.DataBind();
。
你不需要这一行。从代码开头删除它:
GridView1.DataBind();//Remove
然后将这两行放在 While
循环之后:
GridView1.DataSource = dTbl;
GridView1.DataBind();
编辑: 你也可以像这样更简单:
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
try
{
con.Open();
SqlCommand command = new SqlCommand("select * from [dbo].[employee]", con);
SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
GridView1.DataSource = reader;
GridView1.DataBind();
}
catch
{
//Handle error
}
}
在下面的 asp c# 代码中,我尝试使用 SqlDataReader 显示数据库 table 的内容,但它不起作用。此代码仅处理按钮单击事件。我怎样才能让它发挥作用?
protected void Button2_Click(object sender, EventArgs e)
{
GridView1.DataSource = null;
GridView1.DataBind();
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (con)
{
con.ConnectionString = CS;
DataTable dTbl = new DataTable();
dTbl.Columns.Add("ID");
dTbl.Columns.Add("Name");
dTbl.Columns.Add("Salary");
SqlCommand vmd = new SqlCommand();
vmd.Connection = con;
vmd.CommandText = "select * from [dbo].[employee]";
con.Open();
SqlDataReader dr = vmd.ExecuteReader();
while (dr.Read())
{
DataRow dRow = dTbl.NewRow();
dRow["ID"] = dr[0];
dRow["Name"] = dr[1];
dRow["Salary"] = dr[2];
dTbl.Rows.Add(dRow);
}
}
}
在while
代码块后添加
GridView1.DataSource = dTbl;
GridView1.DataBind();
并从您的代码开头删除 GridView1.DataBind();
。
你不需要这一行。从代码开头删除它:
GridView1.DataBind();//Remove
然后将这两行放在 While
循环之后:
GridView1.DataSource = dTbl;
GridView1.DataBind();
编辑: 你也可以像这样更简单:
string CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
try
{
con.Open();
SqlCommand command = new SqlCommand("select * from [dbo].[employee]", con);
SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
GridView1.DataSource = reader;
GridView1.DataBind();
}
catch
{
//Handle error
}
}