我想附加一個SQL查詢的結果到一個gridview沒有創建一個集合,而是使用SQLdataAdapter。c#SQLDATAadapter與GridView的問題
DataTable dt = new DataTable();
using (SqlCommand cm = cn.CreateCommand())
{
StringBuilder ct = new StringBuilder();
ct.AppendLine("SELECT DISTINCT........");
ct.AppendLine("FROM ...... er");
ct.AppendLine("INNER JOIN ....... ev ON er.eKey = ev.eKey");
ct.AppendLine("WHERE UserId ='" + _CurrentUser.UserId + "' AND [Type] = 'R' AND EndDate is NULL");
ct.AppendLine("Order By er.eKey DESC");
Debug.WriteLine(ct.ToString());
cm.CommandType = CommandType.Text;
cm.CommandText = ct.ToString();
System.Diagnostics.Debug.WriteLine(ct.ToString());
SqlDataAdapter dr = new SqlDataAdapter(cm);
dr.Fill(dt);
}
此前我使用簡單的表格格式來表示我的數據,它工作正常。
// int i = 0;
// foreach (DataRow row in dt.Rows)
// {
// if (i++ == 0)
// Response.Write("<span class='style5'><strong><span class='style6'><center>Existing Enrollments:</center><br/><br/></span></strong></span><table><tr><th>Enroll Key<br/></th><th>Name<br/><br/></th><th>DBA<br/><br/></th><th>Address<br/><br/></th><th>City<br/><br/></th><th>State<br/><br/></th><th>Zip<br/><br/></th><th>TIN<br/><br/></th><th>UserID<br/><br/></th></tr>");
// Response.Write("<tr>");
// foreach (DataColumn column in dt.Columns)
// {
// Response.Write("<td>" + row[column].ToString() + "</td>");
// }
現在,我想這個方法: -
gvwERAenrollments.DataSource = dt;;
,並給我一個空的GridView。
我參考: - http://csharp.net-informations.com/dataadapter/datagridview-sqlserver.htm
誰能幫助我?查詢將返回多行。
我意識到,我改變了這一切很快,但是我的GridView顯示了沒有記錄......不過以前我用一個簡單的表和工作。 – Philo
我會懷疑sql查詢沒有返回任何行,然後。把你的dt放在Watch中,DataSource賦值的斷點,然後檢查dt的行數。然後你會知道你的dt是否真的從數據庫中獲取值。 – Brinky
呵呵,這很奇怪,用我的初始表格方法,我得到的所有值都按照預期填充,但是使用dt我得到了一個{}集合。 – Philo