从GridView中的sql表中获取数据(c#)

本文关键字:数据 获取 GridView 中的 sql | 更新日期: 2023-09-27 17:51:04

我有一个在ASP.NET中制作的GridView。现在我想让它用这个方法填充自己。但这行不通。return()不工作,Page_load内的GetData也强调红色(编译错误CS1501)。

 public partial class Pages_GridView1 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        GetData();
    }

    public string GetData(Chart chart)
    {
        string connStr = ConfigurationManager.ConnectionStrings["CRM_SQL"].ConnectionString;
        SqlConnection conn = new SqlConnection(connStr);
        conn.Open();
        SqlCommand query = new SqlCommand(chart.Sql, conn);
        SqlDataReader rst = query.ExecuteReader();

        gridView1.DataSource = rst;
        gridView1.DataBind();
        return gridView1();
    }
}

从GridView中的sql表中获取数据(c#)

您正在调用没有任何参数的GetData()方法,然后在方法定义中使用GetData(Chart chart)。再加上你在方法定义中返回字符串!!

方法调用:GetData()
方法定义:public string GetData(Chart chart)

方法调用和定义应该匹配

现在你应该这样做:

protected void Page_Load(object sender, EventArgs e)
{
    GetData();
}

public void GetData()
{
    Chart chart = new Chart();
    string connStr = ConfigurationManager.ConnectionStrings["CRM_SQL"].ConnectionString;
    SqlConnection conn = new SqlConnection(connStr);
    conn.Open();
    SqlCommand query = new SqlCommand(chart.Sql, conn);
    SqlDataReader rst = query.ExecuteReader();

    gridView1.DataSource = rst;
    gridView1.DataBind();

}

注:我假设你正在设置sql查询图表类

如果使用存储过程,则需要指定命令类型。

SqlCommand query = new SqlCommand(chart.Sql, conn);
query.CommandType = CommandType.StoredProcedure;
SqlDataReader rst = query.ExecuteReader();

你的错误很明显。

protected void Page_Load(object sender, EventArgs e)
    {
        GetData();
    }

和GetData的签名不同。

 public string GetData(Chart chart)

我认为你需要改变方法返回类型为GridView类,因为你正在返回gridview1对象rite..并且在调用方法时检查您正在使用的方法签名是否正确。

我不认为有必要返回一个字符串,如果它不使用。return gridView1();不返回字符串。它将返回GridView。您可以返回Gridview,即将函数定义更改为

public Gridview GetData()

或者你可以这样做;下面的代码应该可以完成这项工作。

public void GetData()
{
    string connStr = ConfigurationManager.ConnectionStrings["CRM_SQL"].ConnectionString;
    SqlConnection conn = new SqlConnection(connStr);
    conn.Open();
    SqlCommand query = new SqlCommand(chart.Sql, conn);
    SqlDataReader rst = query.ExecuteReader();

    gridView1.DataSource = rst;
    gridView1.DataBind();
}