-1

为什么它要求声明一个标量变量@Code

private DataSet SearchRecord ( string lQuery, string SwiftCode) 
    using ( pConnectionState = new SqlConnection(pConnectionString) )
    {
        try
        {
            string TableName = "ACCOUNT_DETAILS";
            pConnectionState.Open();
            SqlCommand lSqlCommand = new SqlCommand(lQuery , pConnectionState);
            lSqlCommand.Parameters.Add("@SwiftCode" , SqlDbType.VarChar).Value = SwiftCode;
            SqlDataAdapter lSqlDataAdapter = new SqlDataAdapter(lQuery, pConnectionState);
            DataTable lDataTable = new DataTable(TableName);
            DataSet lDataSet = new DataSet();
            lSqlDataAdapter.Fill(lDataSet, TableName);
            pConnectionState.Close();
            return lDataSet;     
        }
        catch (  Exception ex )
        {
            MessageBox.Show("Error: " + ex.ToString());
        }
        return null;
    }
}
4

1 回答 1

2

这是一个只见树木不见森林的例子:

您正在构建您的SqlCommand lSqlCommand就好了(现在在用 @SwiftCode 替换 @Code 之后),但您从未使用它。相反,您使用构造函数创建一个SqlDataAdapter lSqlDataAdapter,该构造函数采用命令文本和连接对象,完全缺少您的参数

您只需要像这样创建 SqlDataAdapter:

SqlDataAdapter lSqlDataAdapter = new SqlDataAdapter(lSqlCommand);

并且您的查询将正常运行。

于 2013-08-12T07:34:08.653 回答