如何将参数值传递给SqlDataSource

JAR*_*RRG 3 c# sql asp.net parameters

我正在使用SqlDataSource来填充GridView.这是我的代码:

private void DataCall()
{
    //Object gets created for use from the class(clsDataConduit)
    clsDataDictionary AnOrder = new clsDataDictionary();
    //Declaring a new SqlDataSource from the inbuilt class library
    SqlDataSource sqlDS_ItemTable = new SqlDataSource();
    //Using our datasource object being cast onto our objects connectionstring
    sqlDS_ItemTable.ConnectionString = AnOrder.ConnectionString;
    //Our sql statement being passed through to our .SelectCommand method
    sqlDS_ItemTable.SelectCommand = "Select tblOrders.OrderId, tblItem.ItemName, tblOrders.DateOrdered from tblItem, tblOrders where tblItem.ItemId = tblOrders.ItemId AND tblOrders.AuthId = 5";
    //Adding controls to our SqlDataSource object
    this.Controls.Add(sqlDS_ItemTable);
    //Declares the DataSource for our gridview !
    grdOrder.DataSource = sqlDS_ItemTable;
    //Binds the data to refresh every time it's used
    grdOrder.DataBind();
}
Run Code Online (Sandbox Code Playgroud)

正如你在SQL语句中看到的那样,我正在做这件事tblOrders.AuthId = 5.但是我想做这样的事情tblOrders.AuthId = SessionAuthId .

我读了一些关于单独做某事的帖子,command.Parameters.Add(new SqlParameter("Name", dogName));但我不知道如何将它应用到我的代码中.

我在使用别人的代码(教授)进行的任务中这样做但我想稍微编辑它因为我将要开发登录系统等.

有人可以看看那个方法,看看我将如何更改它以将参数传递给它.这里还有完整的代码:http://pastebin.com/sdrvW5Zn

Mat*_*hew 11

您可以使用该SelectParameters属性执行参数化查询.

sqlDS_ItemTable.SelectCommand = "Select tblOrders.OrderId, tblItem.ItemName, tblOrders.DateOrdered from tblItem, tblOrders where tblItem.ItemId = tblOrders.ItemId AND tblOrders.AuthId = @authID";

sqlDS_ItemTable.SelectParameters.Add(new SqlParameter("@authID", SessionAuthID));
Run Code Online (Sandbox Code Playgroud)