我有这个方法应该从我的sql查询结果中返回列名。 我想要的只是在gridview中插入和显示结果。 这是我的方法:
protected string[] GetColumnsofServiceIDList_By_Name()
{
var custName = Convert.ToString(Request.QueryString["cusName"]);
List<string> result = new List<string>();
Exception etemp = null;
using (SqlConnection connection = new SqlConnection("Data Source=AP;Initial Catalog=Info;User Id=sail;Password=******;App=EntityFramework"))
{
try
{
connection.Open();
string sqlStatement = " My sql query here ";
using (SqlCommand sqlCmd = new SqlCommand(sqlStatement, connection))
{
sqlCmd.Parameters.AddWithValue("@para1", custName);
sqlCmd.Parameters.AddWithValue("@para2", DropDownList1.SelectedItem.Text);
using (SqlDataReader reader = sqlCmd.ExecuteReader())
{
for (int i =0; i < reader.FieldCount; i++)
{
result.Add(reader.GetName(i));
}
}
}
}
catch (Exception e)
{
etemp = e;
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
if (etemp != null)
{
throw etemp;
}
}
}
return result.ToArray();
}
我希望以某种方式将上述方法插入到gridview中,然后在我的页面上查看。
答案 0 :(得分:1)
使用DataBind类似
GridView1.DataSource = result;
GridView1.DataBind();
注意你可以摆脱
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
因为要确保连接始终处于关闭状态,打开使用块内部的连接可确保在代码退出块时自动关闭连接