设为首页 加入收藏

TOP

我与ADO.NET二三事(十二)
2015-11-21 02:04:02 来源: 作者: 【 】 浏览:10
Tags:我与 ADO.NET 二三
nd _Command = this.Connection.DatabaseProvide.Factory.CreateCommand(); 59 _Command.Connection = this.Connection.Connection; 60 _Command.CommandText = argument_ProcedureName; 61 _Command.CommandType = CommandType.StoredProcedure; 62 DbDataReader _Reader = null; 63 if (null != argument_Parameters) 64 { 65 _Command.Parameters.AddRange(argument_Parameters); 66 } 67 68 try 69 { 70 _Reader = await _Command.ExecuteReaderAsync(); 71 _QueryTable.Load(_Reader); 72 } 73 catch (Exception) 74 { 75 76 } 77 finally 78 { 79 _Reader.Close(); 80 } 81 82 OperationValue _Value = new OperationValue(); 83 _Value.Value = _QueryTable; 84 return _Value; 85 } 86 }

?

?
?以上提供的接口操作:
?

 1 public interface IDatabaseCommandTextAsyncProvide
 2     {
 3         string CommandName { get; set; }
 4         DatabaseConnection Connection { get; }
 5         DbParameter NewParameter();
 6         DbParameter NewParameter(string argument_ParameterName, object argument_Value, DbType argument_DbType, ParameterDirection Direction);
 7         Task QueryAsync(string argument_SqlText, DbParameter[] argument_Parameters);
 8         Task QueryAsync(string argument_SqlText, DbTransaction argument_Transaction, DbParameter[] argument_Parameters);
 9         Task TransactionSaveAsync(string argument_SqlText, DbParameter[] argument_Parameters);
10         Task SaveAsync(string argument_SqlText, DbParameter[] argument_Parameters);
11         Task SaveAsync(string argument_SqlText, DbTransaction argument_Transaction, DbParameter[] argument_Parameters);
12         Task TransactionModifyAsync(string argument_SqlText, DbParameter[] argument_Parameters);
13         Task ModifyAsync(string argument_SqlText, DbParameter[] argument_Parameters);
14         Task ModifyAsync(string argument_SqlText, DbTransaction argument_Transaction, DbParameter[] argument_Parameters);
15         Task TransactionDeleteAsync(string argument_SqlText, DbParameter[] argument_Parameters);
16         Task DeleteAsync(string argument_SqlText, DbParameter[] argument_Parameters);
17         Task DeleteAsync(string argument_SqlText, DbTransaction argument_Transaction, DbParameter[] argument_Parameters);
18     }

?

?


1 public interface IDatabaseCommandProcedureAsyncProvide
2     {
3         string CommandName { get; set; }
4         DatabaseConnection Connection { get; }
5         Task Query(string argument_ProcedureName, DbParameter[] argument_Parameters);
6         Task ExecuteNonQuery(string argument_ProcedureName, DbParameter[] argument_Parameters);
7         DbParameter NewParameter();
8         DbParameter NewParameter(string argument_ParameterName, object argument_Value, DbType argument_DbType, ParameterDirection Direction);
9     }

?

?
?
很简单,异步的操作也是如此.
?
?
?
OperationValue:
?
? 前面介绍过,所有的操作结果都存储在OperationValue.Value上.Value这个属性是object类型. 操作的时候,可能出现大量的装箱和拆箱的操作,这个可以自己去细化按需实现,我只是用它来学习他用,并没有考虑到性能之类的考量.
?
?
?
DatabaseOperation:
?

 1 public interface IOperation
 2     {
 3         DatabaseOperation BeginTransaction();
 4         DatabaseOperation EndTransaction();
 5         DatabaseOperation CancelTransaction();
 6         DatabaseOperation ExecuteTextCommand(Func argument_Command);
 7         DatabaseOperation ExecuteTextCommand(Func argument_Command);
 8         DatabaseOperation ExecuteProcedureCommand(Func argument_Command);
 9         DatabaseOperation WidthExecute
首页 上一页 9 10 11 12 13 14 下一页 尾页 12/14/14
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Database 'xxxx' is bein.. 下一篇磁盘空间&SQL日志&作业执行情况

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: