善待自己,珍惜今天,恩泽他人,享受生活

不放弃任何解决困难的机会,人的一生就是解决困难的过程。 当我们走完一生才能说没有问题要解决了。 面对工作、生活上的压力,面对来自家庭、朋友、同事、上司等的困惑。 要排除万难,否则我们就会被万难排除!

博客园 首页 新随笔 联系 订阅 管理

今天很奇怪调用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);

 

posted on 2013-07-13 15:49  笨笨丁  阅读(431)  评论(0编辑  收藏  举报