懂得放弃,才会有新的收获!

Access 数据操作类 C#

By weisnet On 2009-05-26 At 19:00 View:570

C#
  1. using System;
  2. using System.Configuration;
  3. using System.Data;
  4. using System.Data.OleDb;
  5. using System.Xml;
  6. using System.Collections;
  7. namespace Website.Command
  8. {
  9.     /// <summary>
  10.     /// WSplus 的摘要说明。
  11.     /// </summary>
  12.     public class AccessClass : System.Web.UI.Page
  13.     {
  14.         private static OleDbConnection sconn = null;
  15.         public static string _returnValue = "0";
  16.         public WSplus()
  17.         {
  18.             //
  19.             // TODO: 在此处添加构造函数逻辑
  20.             //
  21.             sconn = new OleDbConnection("Provider="Microsoft.Jet.OLEDB.4.0;Data" Source=" + Server.MapPath("/..db.mdb") + ";");
  22.         }
  23.         /// <summary>
  24.         ///开启数据
  25.         /// </summary>
  26.         private static void connOpen()
  27.         {
  28.             if (sconn.State="=ConnectionState.Closed)"
  29.                 try
  30.                 {
  31.                     sconn.Open();
  32.                 }
  33.                 catch (Exception ex)
  34.                 {
  35.                     throw new Exception("数据库初始化错误!!!"+ex.Message);
  36.                 }
  37.         }
  38.         /// <summary>
  39.         /// 关闭数据库
  40.         /// </summary>
  41.         public void connClose()
  42.         {
  43.             if (sconn.State ="=" ConnectionState.Open)
  44.                 try
  45.                 {
  46.                     sconn.Close();
  47.                 }
  48.                 catch (Exception ex)
  49.                 {
  50.                     throw new Exception("OleDb Close Error!"+ex.Message);
  51.                 }
  52.         }
  53.         /// <summary>
  54.         /// 存储过程型CMD初始化!
  55.         /// </summary>
  56.         /// <param name="ht"></param>
  57.         /// <param name="sCmd"></param>
  58.         /// <param name="proc"></param>
  59.         private static void ConfigCMD(Hashtable ht,OleDbCommand sCmd,string sqls)
  60.         {
  61.             if (sCmd ="=" null) throw new ArgumentException("sCmd未初始化");
  62.             if (ht != null && ht.Count != 0)
  63.             {
  64.                 IDictionaryEnumerator items = ht.GetEnumerator();
  65.                 while (items.MoveNext())
  66.                     sCmd.Parameters.Add(MakeParam(items.Key.ToString(),items.Value.ToString()));
  67.             }
  68.             sCmd.Connection = sconn;
  69.             sCmd.CommandText = sqls;
  70.         }
  71.         private static void ConfigCMD(ArrayList alist,OleDbCommand sCmd,string sqls)
  72.         {
  73.             if (sCmd ="=" null) throw new ArgumentException("sCmd未初始化");
  74.             if (alist != null && alist.Count != 0)
  75.             {
  76.                 foreach (object items in alist)
  77.                 {
  78.                     Command.Model.typeFiles cmt = (Command.Model.typeFiles)items;
  79.                     sCmd.Parameters.Add(MakeParam(cmt.Fkey.ToString(),cmt.Fvalue1.ToString(),cmt.Fvalue2.ToString()));
  80.                 }
  81.             }
  82.             sCmd.Connection = sconn;
  83.             sCmd.CommandText = sqls;
  84.         }
  85.         private static OleDbParameter MakeParam(string key,string value)
  86.         {
  87.             return new OleDbParameter(key,value);
  88.         }
  89.         private static OleDbParameter MakeParam(string key,string F1,string F2)
  90.         {
  91.             OleDbParameter par = null;
  92.             if (F2.ToUpper() ="=" "STRING")
  93.             {
  94.                 par = new OleDbParameter(key,OleDbType.VarChar);
  95.             }
  96.             else if (F2.ToUpper() ="=" "INTEGER")
  97.             {
  98.                 par = new OleDbParameter(key,OleDbType.Integer);
  99.             }
  100.             else if (F2.ToUpper() ="=" "LSTRING")
  101.             {
  102.                 par = new OleDbParameter(key,OleDbType.LongVarChar);
  103.             }            
  104.             
  105. //            try
  106. //            {
  107.                 par.Value = F1;
  108. //            }
  109. //            catch(Exception e)
  110. //            {
  111. //                throw new Exception(e.Message + " " + key + " " + F1 + " " + F2);
  112. //            }
  113.             return par;
  114.         }
  115.         public void ExecConfig(Hashtable ht,string sqls)
  116.         {
  117.             OleDbCommand cmd="new OleDbCommand();
  118.             connOpen();
  119.             ConfigCMD(ht,cmd,sqls);
  120.             ExecuteNonQuery(cmd);
  121.         }
  122.         public void ExecConfig(ArrayList alist,string sqls)
  123.         {
  124.             OleDbCommand cmd="new OleDbCommand();
  125.             connOpen();
  126.             ConfigCMD(alist,cmd,sqls);
  127.             ExecuteNonQuery(cmd);
  128.         }
  129.         /// <summary>
  130.         /// 数据操作
  131.         /// </summary>
  132.         /// <param name="cmd"></param>
  133.         private static void ExecuteNonQuery(OleDbCommand cmd)
  134.         {
  135.             Command.AccessClass cw = new AccessClass();
  136.             
  137.             try
  138.             {
  139.                 _returnValue = cmd.ExecuteNonQuery().ToString();
  140.             }
  141.             catch (Exception e) {throw new Exception("Run Exec Error!"+e.Message);}
  142.             finally
  143.             {
  144.                 cmd.Parameters.Clear();
  145.                 
  146.                 cw.connClose();
  147.             }
  148.         }
  149.         /// <summary>
  150.         /// sql语句型datatable
  151.         /// </summary>
  152.         /// <param name="sqls"></param>
  153.         /// <returns></returns>
  154.         public DataTable ReturnDatatableBySql(Hashtable ht,string sqls)
  155.         {
  156.             DataTable dt="new DataTable();
  157.             OleDbCommand cmd="new OleDbCommand();
  158.             ConfigCMD(ht,cmd,sqls);
  159.             OleDbDataAdapter sda="new OleDbDataAdapter(cmd);
  160.             sda.Fill(dt);
  161.             cmd.Parameters.Clear();
  162.             
  163.             return dt;
  164.         }
  165.         public OleDbDataReader getReader(Hashtable ht,string sqls)
  166.         {
  167.             connOpen();
  168.             OleDbCommand cmd="new OleDbCommand();
  169.             ConfigCMD(ht,cmd,sqls);
  170.             OleDbDataReader reader = cmd.ExecuteReader();
  171.             return reader;
  172.             
  173.             //reader.Close();
  174.             //cmd.Parameters.Clear();
  175.             //connClose();
  176.         }
  177.         public OleDbDataReader getReader(ArrayList alist,string sqls)
  178.         {
  179.             connOpen();
  180.             OleDbCommand cmd="new OleDbCommand();
  181.             ConfigCMD(alist,cmd,sqls);
  182.             OleDbDataReader reader = cmd.ExecuteReader();
  183.             return reader;
  184.             
  185.             //reader.Close();
  186.             //cmd.Parameters.Clear();
  187.             //connClose();
  188.         }
  189.         
  190.         public string ReturnValue
  191.         {
  192.             get
  193.             {
  194.                 return _returnValue;
  195.             }
  196.             set
  197.             {
  198.                 _returnValue = value;
  199.             }
  200.         }
  201.     }
  202. }

  
自定义Hashtable(.Net)参见:
http://www.weiseditor.com/blog/Topic.aspx?id=32

·上一篇:IE下innerHTML,outerHTML所引起的问题
·下一篇:Weiseditor 在线文本编辑器讨论

for this post

 
 

Leave a Reply

赶快抢个沙发坐坐!
请先 登陆  还没帐号

Hot Posts Powered by weiseditor

  • Add to Google

Friend links