将字符串数组结果插入gridview

时间:2014-12-01 14:17:46

标签: sql asp.net gridview arrays

我有这个方法应该从我的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中,然后在我的页面上查看。

1 个答案:

答案 0 :(得分:1)

使用DataBind类似

GridView1.DataSource = result;
GridView1.DataBind();

注意你可以摆脱

if (connection.State == ConnectionState.Open)
            {
                connection.Close();

            }

因为要确保连接始终处于关闭状态,打开使用块内部的连接可确保在代码退出块时自动关闭连接