Galbanum之Orm(二)

 这次主要说说Orm中不通过实体来操作数据库的使用方法:主要包括ExecuteNonQuery。
具体其他的Execute的操作和ExecuteNonQuery类似

web.config和表接上一篇。


  1. protected void Button1_Click(object sender, EventArgs e)
  2.     {
  3.         //添加
  4.         IDataBase dbase = DataBaseFactory.GetDataBase("conn1");
  5.         IStatement stmt = dbase.GetStatement();
  6.         stmt.AddParameter("@name""小白");
  7.         stmt.AddParameter("@sex"false);
  8.         stmt.AddParameter("@age", 11);
  9.         stmt.AddParameter("@birthday", DateTime.Now);
  10.         try
  11.         {
  12.             dbase.Open();
  13.             dbase.BeginTransaction();
  14.             stmt.ExecuteNonQuery();
  15.             dbase.Commit();
  16.         }
  17.         catch (Exception ex)
  18.         {
  19.             dbase.RollBack();
  20.             this.Page.ClientScript.RegisterStartupScript(this.GetType(),"Exception","<script>alert('"+ex.Message+"');</script>");
  21.         }
  22.         finally 
  23.         {
  24.             dbase.Close();
  25.         }
  26.     }
看起来是不是和ado.net基本一样,呵呵,其实主是要提倡抽象编程,这样的主要功能是数据库移值的话是相当的方便,如果从Sql移值到Oracle,你只要重构一下@全部换成:就OK了,不用像以前哪样一个一个把SqlParameter改成OracleParameter,

或许你IStatement接口提供的 int AddParameter(string name, object value);可以不能完全满足你的需求,于是提供了一个
 int AddParameter(DbParameter para);
这样你可以尽管实例出不同的parameter来写你想要写的,


下一篇主要讨论下实体的使用。

你可能感兴趣的:(oracle,exception,数据库,String,orm,object)