C# 在ASP.Net中将数据库数据绑定到GridView
我尝试在c和asp.net中将数据库数据绑定到gridview。但是我在gridview中看不到数据。行被添加到gridview中,但它们是空的。当我在SQLServer中运行该查询时,它给出了正确的结果。我没有向asp部分添加或更改任何代码。我应该吗?我找不到问题出在哪里:请帮忙C# 在ASP.Net中将数据库数据绑定到GridView,c#,asp.net,C#,Asp.net,我尝试在c和asp.net中将数据库数据绑定到gridview。但是我在gridview中看不到数据。行被添加到gridview中,但它们是空的。当我在SQLServer中运行该查询时,它给出了正确的结果。我没有向asp部分添加或更改任何代码。我应该吗?我找不到问题出在哪里:请帮忙 myConnection = WebConfigurationManager.ConnectionStrings["KutuphaneConnectionString"].ConnectionString; conn
myConnection = WebConfigurationManager.ConnectionStrings["KutuphaneConnectionString"].ConnectionString;
connect = new SqlConnection(myConnection);
command = new SqlCommand();
connect.Open();
command.Connection = connect;
string komut = "SELECT K.ad,K.yazar,K.baskiNo,O.sonTeslimTarihi FROM OduncIslemleri O,Kitap K WHERE O.kullaniciId=" + Session["id"] + " AND O.kitapId = K.id;";
try
{
SqlCommand sqlCommand = new SqlCommand();
sqlCommand = connect.CreateCommand();
sqlCommand.CommandText = komut;
SqlDataAdapter sda = new SqlDataAdapter(sqlCommand.CommandText, connect);
SqlCommandBuilder scb = new SqlCommandBuilder(sda);
//Create a DataTable to hold the query results.
DataTable dTable = new DataTable();
//Fill the DataTable.
sda.Fill(dTable);
GridView1.DataSource = dTable;
GridView1.DataBind();
}
catch (SqlException)
{
//Console.WriteLine(e.StackTrace);
}
reader.Close();
connect.Close();
观察绑定后触发的另一个事件,该事件可能正在清除行尝试创建一个数据集,并使用Fill填充该数据集。我从未见过在DataTable上使用Fill,在MSDN上也找不到这种特殊的重载。不过,我怀疑这样的重载不会修改DataTable的现有模式,因为它只是在您的示例中使用之前创建的,这意味着它没有列。我认为您必须使用BindingSource控件,将其数据源设置为DataTable,然后将GridView的数据源设置为BindingSource。以下是正确答案:
myConnection = WebConfigurationManager.ConnectionStrings["KutuphaneConnectionString"].ConnectionString;
connect = new SqlConnection(myConnection);
string sorgu = "select K.ad,K.yazar,K.baskiNo,O.sonTeslimTarihi from Kitap K, OduncIslemleri O where O.kitapId = K.id and O.kullaniciId = "+ Session["id"];
SqlDataAdapter sadp = new SqlDataAdapter(sorgu, connect);
DataSet ds = new DataSet();
sadp.Fill(ds);
this.GridView1.DataSource = ds.Tables[0];
this.GridView1.DataBind();
connect.Close();
我还在Gridview中使用了模板字段。自动生成的字段也应为true。我希望这对那些有同样问题的人有所帮助我不这么认为。。我写了page_load类,它们是页面显示的最后几句话。我尝试了这一点,但它也给出了相同的结果:字符串komut=SELECT K.ad,K.yazar,K.baskiNo,O.sonTeslimTarihi来自Odunceslemleri O,Kitap K其中O.kullanicid=+Session[id]+和O.kitapId=K.id;;SqlCommand cmd=new-SqlCommandkomut,connect;SqlDataAdapter=新的SqlDataAdaptercmd;数据集ds=新数据集;适配器。填料,Kitap;GridView1.DataSource=ds;GridView1.1数据绑定;使用GridView1.DataSource=ds.Tables0;,怎么样?您应该提供GridView的aspx部分。你是吗?此外,记住不要在回发中从页面加载重新绑定GridView。所以一定要检查一下!在数据绑定网格之前,Page.IsPostback。如何?你能在代码示例中解释一下吗?首先用你问题中缺少的aspx部分来完成。你想解释什么部分?GridView属性AutoGenerateColumns是自我解释的,此外,我还提供了一个链接。方法也很简单。