ExecuteStoreCommand  SqlParameterCollection 中已包含 SqlParameter 

今天很奇怪调用EF的ExecuteStoreCommand 出现了个这样的错误,怎么也调试不过,痛定思痛

原来 command被连着调用了而没有销毁掉

  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 的用法 

string orderCode =“test1”;

 

string dishMenuCode=“test2”

 

          var parameter = new SqlParameter[]{

                 

  new SqlParameter("@p_order",orderCode),
                    new SqlParameter("@p_dish",dishMenuCode),
                };//多个参数的列子
                

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);

 

 

 

 

 

相关文章:

  • 2021-05-31
  • 2021-10-19
  • 2022-02-19
  • 2022-12-23
  • 2021-11-03
猜你喜欢
  • 2021-10-18
  • 2022-12-23
  • 2022-12-23
  • 2021-12-29
  • 2021-05-30
相关资源
相似解决方案