【问题标题】:OleDB ParametersOleDB 参数
【发布时间】:2014-03-22 09:20:51
【问题描述】:

我有这个访问数据库,我有一个用于州名的 ddl 和一个用于年份的 ddl。我有一个网格视图,我想将状态下拉列表的值传递给 where 子句。显然,如果我可以使用带有命名参数的 sql,我会这样做,但这就是我所坚持的,并且不确定如何正确格式化它。

下拉列表名称为 ddlStates。在我尝试过的参数中

mycommand.Parameters.Add("@ddlStates")

这是数据集

        public DataSet GetData()
    {
        DataSet ds;
        using (OleDbConnection myConnString = new OleDbConnection())
        {
            myConnString.ConnectionString = connString;
            using (OleDbCommand myCommand = new OleDbCommand())
            {
                myCommand.CommandText = "select * from tblTest where location = ?";
                myCommand.Parameters.Add();
                myCommand.Connection = myConnString;



                using (OleDbDataAdapter da = new OleDbDataAdapter())
                {
                    da.SelectCommand = myCommand;
                    ds = new DataSet();
                    da.Fill(ds, "Grades");
                }
            }
            return ds;
        }
    }//ends get data dataset

【问题讨论】:

    标签: c# ms-access parameters named-parameters oledbcommand


    【解决方案1】:

    1.你需要打开你的连接

    2.可以按如下方式添加参数

    public DataSet GetData()
    {
        DataSet ds;
        using (OleDbConnection conn = new OleDbConnection(connString))
        {
            string query= "select * from tblTest where location = ?";            
            using (OleDbCommand myCommand = new OleDbCommand(query, conn))
            {
    
                myCommand.Parameters.AddWithValue("@ddlStates", <your value>);
                conn.Open();
    
                using (OleDbDataAdapter da = new OleDbDataAdapter(myCommand, conn))
                {
                    ds = new DataSet();
                    da.Fill(ds, "Grades");
                    return ds;
                }
            }
    
        }
    }
    

    【讨论】:

      【解决方案2】:
      myCommand.Parameters.AddWithKey("location", this.ddlStates.SelectedValue);
      

      假设location 列的数据类型是文本的。如果是数字或其他类型,则先将 SelectedValue 转换为适当的数据类型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-08-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多