Ibatis.net老是報:【ExecuteStoreCommand SqlParameterCollection 中已包含 SqlParameter】(轉)

今天很奇怪調用EF的ExecuteStoreCommand 出現了個這樣的錯誤,怎麼也調試不過,痛定思痛 sql

原來 command被連着調用了而沒有銷燬掉 spa

  public  static DataTable GetDataTable(
            string connDBStr, string sql, params SqlParameter[] cmdParms)
        {
            SqlCommand cmd = new SqlCommand();
            using (SqlConnection conn = new SqlConnection(connDBStr))
            {
                PrepareSqlCommand(cmd, conn, null, sql, cmdParms);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable    (SetSqlAsDataTableName(sql));
                da.Fill(dt);
                cmd.Parameters.Clear(); // 多了這一句,就解決了問題
                return dt;
            }

        } 調試


還要說說EF調用 ExecuteStoreCommand 的用法 code

string orderCode =「test1」;blog

 

string dishMenuCode=「test2」cmd

 

          var parameter = new SqlParameter[]{string

                

  new SqlParameter("@p_order",orderCode),
                    new SqlParameter("@p_dish",dishMenuCode),
                };//多個參數的列子
                it

ef.ExecuteStoreCommand( " update dbo.order_info_ed set dpState='1' where orderCode=@p_order and dishMenuCode=@p_dish ", parameter);

                var paramenter2 = new SqlParameter { ParameterName = " @p_user ", Value = " gxw " }; // 一個參數的例子
                ef.ExecuteStoreCommand( " select * From UserTable where username=@p_user ", paramenter2);
相關文章
相關標籤/搜索