0

我在 asp 中有一个 gridView,目前使用以下数据源 -

<asp:SqlDataSource ID="SqlDataSourceTEST" runat="server" 
    ConnectionString="connection string" 
    SelectCommand="SELECT * FROM table">
</asp:SqlDataSource>

我可以通过以下方式调整SelectCommand后面的代码 -

SqlDataSourceTEST.SelectCommand = "SELECT * FROM table WHERE ID =" + iD;

但是我现在正在调整代码以通过 Web 服务方法填充 gridView -

[WebMethod]

    public DataSet sMethod()
    {
        using (SqlConnection cnn = new SqlConnection(DBcon))
        {

            string sql = "SELECT * FROM table";
            SqlDataAdapter da = new SqlDataAdapter(sql, cnn);
            DataSet ds = new DataSet();
            da.Fill(ds, "table");

            return ds;

        }
    }

然后在页面加载填充 gridView -

WebService1 ws = new WebService1();
gridView1.DataSource = ws.sMethod();
gridView1.DataBind();

有没有办法可以string sql在后面的代码中调整 web 方法的一部分来添加变量?

4

2 回答 2

1

使您的WebMethod接受参数:

public DataSet sMethod(string sql)
{
   if (string.IsNullOrEmpty(sql))
   {
       sql = "SELECT * FROM table";
   } 
   SqlDataAdapter da = new SqlDataAdapter(sql, cnn);

   ...
}

并从网站上调用它:

string sql = "SELECT * FROM table WHERE ID =" + iD;
WebService1 ws = new WebService1();
gridView1.DataSource = ws.sMethod(sql);
gridView1.DataBind();
于 2013-02-11T12:03:02.590 回答
0

[网络方法]

public DataSet sMethod()
{
    using (SqlConnection cnn = new SqlConnection(DBcon))
    {

        string sql = "SELECT * FROM table";
        SqlDataAdapter da = new SqlDataAdapter(sql, cnn);
        DataSet ds = new DataSet();
        da.Fill(ds, "table");

        return ds;

    }
}
于 2013-03-22T10:47:04.243 回答