1 using System; 2 using System.Data; 3 using System.Data.OleDb; 4 5 namespace AccessDb 6 { 7 /**//// <summary> 8 /// AccessDb 的摘要说明,以下信息请完整保留 9 /// 请在数据传递完毕后调用Close()方法,关闭数据链接。 10 /// </summary> 11 public class AccessDbClass 12 { 13 // 14 // 变量声明处#region 变量声明处 15 public OleDbConnection Conn; 16 public string ConnString;//连接字符串 17 18 19 20 // 构造函数与连接关闭数据库#region 构造函数与连接关闭数据库 21 /**//// <summary> 22 /// 构造函数 23 /// </summary> 24 /// <param name="Dbpath">ACCESS数据库路径</param> 25 public AccessDbClass(string Dbpath) 26 { 27 ConnString = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="; 28 ConnString += Dbpath; 29 Conn = new OleDbConnection(ConnString); 30 Conn.Open(); 31 } 32 33 /**//// <summary> 34 /// 打开数据源链接 35 /// </summary> 36 /// <returns></returns> 37 public OleDbConnection DbConn() 38 { 39 Conn.Open(); 40 return Conn; 41 } 42 43 /**//// <summary> 44 /// 请在数据传递完毕后调用该函数,关闭数据链接。 45 /// </summary> 46 public void Close() 47 { 48 Conn.Close(); 49 } 50 51 52 53 // 数据库基本操作#region 数据库基本操作 54 /**//// <summary> 55 /// 根据SQL命令返回数据DataTable数据表, 56 /// 可直接作为dataGridView的数据源 57 /// </summary> 58 /// <param name="SQL"></param> 59 /// <returns></returns> 60 public DataTable SelectToDataTable(string SQL) 61 { 62 OleDbDataAdapter adapter = new OleDbDataAdapter(); 63 OleDbCommand command = new OleDbCommand(SQL, Conn); 64 adapter.SelectCommand = command; 65 DataTable Dt = new DataTable(); 66 adapter.Fill(Dt); 67 return Dt; 68 } 69 70 /**//// <summary> 71 /// 根据SQL命令返回数据DataSet数据集,其中的表可直接作为dataGridView的数据源。 72 /// </summary> 73 /// <param name="SQL"></param> 74 /// <param name="subtableName">在返回的数据集中所添加的表的名称</param> 75 /// <returns></returns> 76 public DataSet SelectToDataSet(string SQL, string subtableName) 77 { 78 OleDbDataAdapter adapter = new OleDbDataAdapter(); 79 OleDbCommand command = new OleDbCommand(SQL, Conn); 80 adapter.SelectCommand = command; 81 DataSet Ds = new DataSet(); 82 Ds.Tables.Add(subtableName); 83 adapter.Fill(Ds, subtableName); 84 return Ds; 85 } 86 87 /**//// <summary> 88 /// 在指定的数据集中添加带有指定名称的表,由于存在覆盖已有名称表的危险,返回操作之前的数据集。 89 /// </summary> 90 /// <param name="SQL"></param> 91 /// <param name="subtableName">添加的表名</param> 92 /// <param name="DataSetName">被添加的数据集名</param> 93 /// <returns></returns> 94 public DataSet SelectToDataSet (string SQL, string subtableName, DataSet DataSetName) 95 { 96 OleDbDataAdapter adapter = new OleDbDataAdapter(); 97 OleDbCommand command = new OleDbCommand(SQL, Conn); 98 adapter.SelectCommand = command; 99 DataTable Dt = new DataTable(); 100 DataSet Ds = new DataSet(); 101 Ds = DataSetName; 102 adapter.Fill(DataSetName, subtableName); 103 return Ds; 104 } 105 106 /**//// <summary> 107 /// 根据SQL命令返回OleDbDataAdapter, 108 /// 使用前请在主程序中添加命名空间System.Data.OleDb 109 /// </summary> 110 /// <param name="SQL"></param> 111 /// <returns></returns> 112 public OleDbDataAdapter SelectToOleDbDataAdapter(string SQL) 113 { 114 OleDbDataAdapter adapter = new OleDbDataAdapter(); 115 OleDbCommand command = new OleDbCommand(SQL, Conn); 116 adapter.SelectCommand = command; 117 return adapter; 118 } 119 120 /**//// <summary> 121 /// 执行SQL命令,不需要返回数据的修改,删除可以使用本函数 122 /// </summary> 123 /// <param name="SQL"></param> 124 /// <returns></returns> 125 public bool ExecuteSQLNonquery(string SQL) 126 { 127 OleDbCommand cmd = new OleDbCommand(SQL, Conn); 128 try 129 { 130 cmd.ExecuteNonQuery(); 131 return true; 132 } 133 catch 134 { 135 return false; 136 } 137 } 138 139 } 140 }