C#-enterprise library 中updatedataset

意见反馈 意见反馈 主题:991 回复:2082

C#-enterprise library 中updatedataset

偏爱自由 发布于 2017-02-04 字数 200 浏览 1110 回复 1

在使用Enterprise Library 中database.updatedatabase的方法时,发现要必须自己指定insertCommand,updateCommand,deleteCommand,而不能像以前使用SqlDataAdapter时,自动生产这些sql。有什么变通的办法吗?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

支持 Markdown 语法,需要帮助?

评论(1

甜柠檬 2017-10-25 1 楼

Enterprise Library中更新数据库可以有多种方式,比如写存储过程,或者如问题中所说,使用insertCommand,updateCommand,deleteCommand。
同样,也可以使用SqlDataAdapter的方式举例来说

region 保存product数据

     public Boolean SaveProduct(DataSet dsData, out string ResultMsg)
     {
         Boolean result = false;
          ResultMsg = string.Empty;
          if (dsData == null) 
          {
              ResultMsg = "数据集为空";
              return result;
         }

         try
         {
             SqlCommand cmd = (SqlCommand)db.GetSqlStringCommand("select top 0 * from product");
             cmd.Connection = (SqlConnection)db.CreateConnection();
             SqlDataAdapter adapter = (SqlDataAdapter)db.GetDataAdapter();
             adapter.SelectCommand = cmd;
             SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
             int n = adapter.Update(dsData);
             result = (n > 0);
         }
         catch(Exception ex)
         {
             throw ex;
         }

         return result;
     }

endregion