将数据从数据库添加到表中
本文关键字:添加 数据库 数据 | 更新日期: 2023-09-27 18:00:03
我是.net和C#的新手,我想执行更新/删除。我使用的是一个有表格的模板。我想从数据库中获取数据并显示在该表中,然后执行更新。
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
SqlDataReader rd;
SqlCommand comand = new SqlCommand();
//open connection with database
connection.Open();
//query to select all users with the given username
comand.CommandText = "select * from artikulli ";
rd = comand.ExecuteReader();
if(rd.HasRows )
{
while (rd.Read())
{
Row1.Items.Add(rd[0].ToString());
}
}
connection.Close();
}
Row1
是表行的id。我知道这不是最好的方法,也不起作用。
我得到这个错误:
CS0103:名称"Row1"在当前上下文中不存在
我的表行Row1
声明如下:
<td id="Row1" style="width: 73px"> </td>
很明显,正如您所承认的,您是C#的新手,因此有许多事情需要指出,正如评论中所述。
- 如果没有
runat="server"
属性,HTML元素将不会对代码隐藏可见。(此属性是ASP元素所必需的。) - 正如marc_s所指出的,您的数据库通信当前会产生运行时错误,因为
SqlCommand
没有连接 - 在某个时刻,您必须真正熟悉using语句
要更正后面的代码,应该更像以下内容:
protected void Page_Load(object sender, EventArgs e)
{
using (SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString))
{
using (SqlCommand command = connection.CreateCommand())
{
//open connection with database
connection.Open();
//query to select all users with the given username
command.CommandText = "select * from artikulli ";
List<object> users = new List<object>();
using (SqlDataReader rd = command.ExecuteReader())
{
if (rd.HasRows)
{
while (rd.Read())
{
users.Add(rd[0].ToString());
}
}
}
myGridView.DataSource = users;
myGridView.DataBind();
}
}
}
其中,myGridView
是在aspx页面中创建的GridView
的实例。列表users
应该是您想要创建的任何类的列表,以显示用户数据,这将决定GridView
实例的格式。
只是为了让您看到数据库查询工作正常,您可以根据查询结果执行以下操作(尽管我绝对建议最终实现GridView
):
System.Text.StringBuilder sb = new System.Text.StringBuilder();
using (SqlDataReader rd = command.ExecuteReader())
{
if (rd.HasRows)
{
while (rd.Read())
{
sb.Append(rd[0].ToString());
sb.Append("<br />");
}
}
}
Row1.InnerHtml = sb.ToString();
您必须将Row1
更改为
<td id="Row1" style="width: 73px" runat="server"> </td>
根据错误,您需要将Row1变量带入范围
TableRow Row1 = new TableRow();
while (rd.Read())
{
Row1.Items.Add(rd[0].ToString());
Table1.Rows.Add(Row1);
}