protected void Button1_Click1(object sender, EventArgs e)
{
SqlConnectionStringBuilder connb = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["SCS"].ConnectionString);
using (SqlConnection conn = new SqlConnection(connb.ConnectionString))
{
SqlCommand cmd = new SqlCommand("Select * from dbo.Users;", conn);
DataTable tb = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(tb);
tb.AcceptChanges();
GridView1.DataSource = tb;
GridView1.DataBind();
}
}
这是我在C#asp.net应用程序中的代码。我想在gridview中显示SQL表。
<Columns>
<asp:BoundField ItemStyle-Width="150px" DataField="name" HeaderText="name" />
<asp:BoundField ItemStyle-Width="150px" DataField="lastname" HeaderText="lastname" />
<asp:BoundField ItemStyle-Width="150px" DataField="ID" HeaderText="ID" />
</Columns>
IT显示空gridview(当我按下button1时)。它不显示任何错误消息。连接字符串工作,SQL命令影响行,但它仍然没有显示gridview上的任何数据!
任何人都可以帮助我吗?
答案 0 :(得分:1)
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(ds);
GridView1.DataSource = ds.Tables[0];
GridView1.DataBind();
答案 1 :(得分:1)
好像你的查询永远不会被执行
cmd.ExecuteNonQuery ()
这应该发生在这一行之前
SqlDataAdapter da = new SqlDataAdapter(cmd);
答案 2 :(得分:0)
您可能会在DataBind()
中获得异常 - 使用try-catch
块。这可能是由于DataTable
中缺少正在绑定字段中使用的列而发生的。
protected void Button1_Click1(object sender, EventArgs e)
{
SqlConnectionStringBuilder connb = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["SCS"].ConnectionString);
using (SqlConnection conn = new SqlConnection(connb.ConnectionString))
{
try
{
SqlCommand cmd = new SqlCommand("Select * from dbo.Users;", conn);
DataTable tb = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(tb);
tb.AcceptChanges();
GridView1.DataSource = tb;
GridView1.DataBind();
GridView1.Rows[0].Cells[0].Text. = "a";
}
catch(Exception ex)
{
Response.Write(ex.Message);
}
}
}
答案 3 :(得分:0)
如果要绑定指定列,则应设置 AutoGenerateColumns="false"
。请检查
还需要检查是否在gridview中设置了visible="false"
或style="display:none"
并且检查DataField
必须与表column
名称匹配
答案 4 :(得分:0)
我遇到了一个问题,我在数据源中获取数据并且GridView根本没有显示出来。我有AutoGenerateColumns =&#34; true&#34;在页面上的Gridview定义中。出于某种原因,当我设置断点并在后面的代码中查看Gridview的属性时,它仍然设置为false。在将Gridview设置为等于数据源并执行数据绑定之前,我在后面的代码中将其设置为true。这很有用。
答案 5 :(得分:-1)
SqlCommand cmd = new SqlCommand("Select * from dbo.Users;", conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds, "usersdata");
GridView1.DataSource = ds.Tables["usersdata"];
GridView1.DataBind();