C#操作Access

本文以ADOX操作Access

1、在C#中新建AccessClass.cs文件,内容如下

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Text;
  5 using System.Collections;
  6 using System.IO;    //包含File
  7 using System.Data;   //包含datatable
  8 using System.Data.OleDb;  //包含OleDbConnection
  9 using System.Windows.Forms;
 10
 11 namespace CsharpAccess0903
 12 {
 13     public abstract class AccessClass
 14     {
 15         public static string myMdbPath;
 16         public static string[] myTableName=new string[2];
 17         public static ArrayList[] myMdbHead=new ArrayList[2];
 18
 19         //普通的节点
 20         public struct Node
 21         {
 22             private string nodeType;
 23             public string NodeType//表的字段名
 24             {
 25                 set { nodeType = value; }
 26                 get { return nodeType; }
 27             }
 28
 29             private string nodeValue;
 30             public string NodeValue//具体的值
 31             {
 32                 set { nodeValue = value; }
 33                 get { return nodeValue; }
 34             }
 35         }
 36
 37         //数据库初始化
 38         public static bool MDBInit(string mdbPath, string[] tableName, ArrayList[] mdbHead, int tableNum)
 39         {
 40             //检测数据库是否存在,若不存在则创建数据库并创建数据表
 41             if (!File.Exists(mdbPath))
 42             {
 43                 CreateMDBDataBase(mdbPath);//创建mdb
 44                 for (int i = 0; i < tableNum; i++)
 45                 {
 46                     CreateMDBTable(mdbPath, tableName[i], mdbHead[i]);//创建数据表
 47                 }
 48             }
 49             myMdbPath = mdbPath;
 50             for (int i = 0; i < tableNum; i++)
 51             {
 52                 myTableName[i] = tableName[i].Clone().ToString();
 53             }
 54             for (int i = 0; i < tableNum; i++)
 55             {
 56                 myMdbHead[i] = (ArrayList)mdbHead[i].Clone();
 57             }
 58             return true;
 59         }
 60
 61         //创建mdb
 62         public static bool CreateMDBDataBase(string mdbPath)
 63         {
 64             try
 65             {
 66                 ADOX.CatalogClass cat = new ADOX.CatalogClass();
 67                 cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";");
 68                 cat = null;
 69                 return true;
 70             }
 71             catch { return false; }
 72         }
 73
 74         //新建mdb的表  //mdbHead是一个ArrayList,存储的是table表中的具体列名。
 75         public static bool CreateMDBTable(string mdbPath, string tableName, ArrayList mdbHead)
 76         {
 77             try
 78             {
 79                 ADOX.CatalogClass cat = new ADOX.CatalogClass();//=========================================//=====================================//
 80                 string sAccessConnection
 81                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath;
 82                 ADODB.Connection cn = new ADODB.Connection();
 83                 cn.Open(sAccessConnection, null, null, -1);
 84                 cat.ActiveConnection = cn;
 85
 86                 //新建一个表
 87                 ADOX.TableClass tbl = new ADOX.TableClass();
 88                 tbl.ParentCatalog = cat;
 89                 tbl.Name = tableName;
 90
 91                 int size = mdbHead.Count;
 92                 for (int i = 0; i < size; i++)
 93                 {
 94                     //增加一个文本字段
 95                     ADOX.ColumnClass col2 = new ADOX.ColumnClass();
 96                     col2.ParentCatalog = cat;
 97                     col2.Name = mdbHead[i].ToString();//列的名称
 98                     col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
 99                     tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarWChar, 500);  //把列加入table
100                 }
101                 cat.Tables.Append(tbl);   //这句把表加入数据库(非常重要)
102                 tbl = null;
103                 cat = null;
104                 cn.Close();
105                 return true;
106             }
107             catch { return false; }
108         }
109
110
111         // 读取mdb指定表的全部数据
112         public static DataTable ReadAllData(string tableName, string mdbPath, ref bool success)
113         {
114             DataTable dt = new DataTable();
115             try
116             {
117                 DataRow dr;
118                 //1、建立连接
119                 string strConn
120                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=";//创建数据库时未设用户及密码,不用提交密码即可操作数据库
121                 OleDbConnection odcConnection = new OleDbConnection(strConn);
122                 //2、打开连接
123                 odcConnection.Open();
124                 //建立SQL查询
125                 OleDbCommand odCommand = odcConnection.CreateCommand();
126                 //3、输入查询语句
127                 odCommand.CommandText = "select * from " + tableName;
128                 //建立读取
129                 OleDbDataReader odrReader = odCommand.ExecuteReader();
130                 //查询并显示数据
131                 int size = odrReader.FieldCount; //获取当前行中的列数
132                 for (int i = 0; i < size; i++)
133                 {
134                     DataColumn dc;
135                     dc = new DataColumn(odrReader.GetName(i)); //获取每一列的名称,放入列结构中
136                     dt.Columns.Add(dc);   //新建的table完成属性列的构建
137                 }
138                 while (odrReader.Read())  //逐条记录(也即逐行)地读取数据
139                 {
140                     dr = dt.NewRow();  //一行数据
141                     for (int i = 0; i < size; i++)
142                     {
143                         dr[odrReader.GetName(i)] = odrReader[odrReader.GetName(i)].ToString(); //逐列读取每单元格数据放到行结构中
144                     }
145                     dt.Rows.Add(dr);  //新建的table完成每条记录的存储
146                 }
147                 //关闭连接
148                 odrReader.Close();
149                 odcConnection.Close();
150                 success = true;
151                 return dt;
152             }
153             catch
154             {
155                 success = false;
156                 return dt;
157             }
158         }
159
160
161         // 读取指定表的若干列的数据
162         public static DataTable ReadDataByColumns(string mdbPath, string tableName, string[] columns, ref bool success)
163         {
164             DataTable dt = new DataTable();
165             try
166             {
167                 DataRow dr;
168                 //1、建立连接
169                 string strConn
170                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=";
171                 OleDbConnection odcConnection = new OleDbConnection(strConn);
172                 //2、打开连接
173                 odcConnection.Open();
174                 //建立SQL查询
175                 OleDbCommand odCommand = odcConnection.CreateCommand();
176                 //3、输入查询语句
177                 string strColumn = "";
178                 //if (columns[0] == null)
179                 //{
180                 //    strColumn = " * ";
181                 //}
182                 //else
183                 //{
184                     for (int i = 0; i < columns.Length; i++)
185                     {
186                         strColumn += columns[i].ToString() + ",";
187                     }
188                     strColumn = strColumn.TrimEnd(‘,‘);
189                 //}
190
191                 odCommand.CommandText = "select " + strColumn + " from " + tableName;
192                 //建立读取
193                 OleDbDataReader odrReader = odCommand.ExecuteReader();
194                 //查询并显示数据
195                 int size = odrReader.FieldCount;
196                 for (int i = 0; i < size; i++)
197                 {
198                     DataColumn dc;
199                     dc = new DataColumn(odrReader.GetName(i));
200                     dt.Columns.Add(dc);
201                 }
202
203                 while (odrReader.Read())
204                 {
205                     dr = dt.NewRow();
206                     for (int i = 0; i < size; i++)
207                     {
208                         dr[odrReader.GetName(i)] = odrReader[odrReader.GetName(i)].ToString();
209                     }
210                     dt.Rows.Add(dr);
211                 }
212                 //关闭连接
213                 odrReader.Close();
214                 odcConnection.Close();
215                 success = true;
216                 return dt;
217             }
218             catch
219             {
220                 success = false;
221                 return dt;
222             }
223         }
224
225         //读取指定列数据
226         public static DataTable ReadDataByColumnsBound(string mdbPath, string tableName, string[] columns, Node bound, ref bool success)
227         {
228             DataTable dt = new DataTable();
229             try
230             {
231                 DataRow dr;
232                 //1、建立连接
233                 string strConn
234                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=haoren";
235                 OleDbConnection odcConnection = new OleDbConnection(strConn);
236                 //2、打开连接
237                 odcConnection.Open();
238                 //建立SQL查询
239                 OleDbCommand odCommand = odcConnection.CreateCommand();
240                 //3、输入查询语句
241                 string strColumn = "";
242                 if (columns[0] == null)
243                 {
244                     strColumn = " * ";
245                 }
246                 else
247                 {
248                     for (int i = 0; i < columns.Length; i++)
249                     {
250                         strColumn += columns[i].ToString() + ",";
251                     }
252                     strColumn = strColumn.TrimEnd(‘,‘);
253                 }
254
255                 odCommand.CommandText = "select " + strColumn + " from " + tableName + " where " + bound.NodeType + " = ‘" + bound.NodeValue + "‘ ";
256                 //建立读取
257                 OleDbDataReader odrReader = odCommand.ExecuteReader();
258                 //查询并显示数据
259                 int size = odrReader.FieldCount;
260                 for (int i = 0; i < size; i++)
261                 {
262                     DataColumn dc;
263                     dc = new DataColumn(odrReader.GetName(i));
264                     dt.Columns.Add(dc);
265                 }
266
267                 while (odrReader.Read())
268                 {
269                     dr = dt.NewRow();
270                     for (int i = 0; i < size; i++)
271                     {
272                         dr[odrReader.GetName(i)] = odrReader[odrReader.GetName(i)].ToString();
273                     }
274                     dt.Rows.Add(dr);
275                 }
276                 //关闭连接
277                 odrReader.Close();
278                 odcConnection.Close();
279                 success = true;
280                 return dt;
281             }
282             catch
283             {
284                 success = false;
285                 return dt;
286             }
287         }
288         //==================================================================
289         //函数名:    GetTableNameList
290         //作者:        LiYang
291         //日期:        2015-6-26
292         //功能:        获取ACCESS数据库中的表名
293         //输入参数:    数据库路径
294         //返回值:      List<string>
295         //修改记录:
296         //==================================================================
297         public static List<string> GetTableNameList(string myMdbPath)
298         {
299             List<string> list = new List<string>();
300             try
301             {
302                 OleDbConnection Conn = new OleDbConnection();
303                 Conn.ConnectionString = "Provider = Microsoft.Jet.OleDb.4.0;Data Source=" + myMdbPath;
304                 Conn.Open();
305                 DataTable dt = Conn.GetSchema("Tables");
306                 foreach (DataRow row in dt.Rows)
307                 {
308                     if (row[3].ToString() == "TABLE")
309                         list.Add(row[2].ToString());
310                 }
311                 Conn.Close();
312                 return list;
313             }
314             catch (Exception ex)
315             {
316                 throw ex;
317             }
318         }
319         //==================================================================
320         //函数名:    GetTableFieldNameList
321         //作者:        LiYang
322         //日期:        2015-6-26
323         //功能:        获取ACCESS数据库指定表名中的字段
324         //输入参数:    数据库路径,表名
325         //返回值:      List<string>  属性列的名称
326         //修改记录:
327         //==================================================================
328         public static List<string> GetTableFieldNameList(string myMdbPath, string TableName)
329         {
330             List<string> list = new List<string>();
331             try
332             {
333                 OleDbConnection Conn = new OleDbConnection();
334                 Conn.ConnectionString = "Provider = Microsoft.Jet.OleDb.4.0;Data Source=" + myMdbPath;
335                 Conn.Open();
336                 using (OleDbCommand cmd = new OleDbCommand())
337                 {
338                     cmd.CommandText = "SELECT TOP 1 * FROM [" + TableName + "]";//读取一个表中第一条记录,如select top 5 * from tablename,读取表中前5条记录
339                     cmd.Connection = Conn;
340                     OleDbDataReader dr = cmd.ExecuteReader(); //得到列头
341                     for (int i = 0; i < dr.FieldCount; i++)
342                     {
343                         list.Add(dr.GetName(i));//得到属性列名称
344                     }
345                 }
346                 Conn.Close();
347                 return list;
348             }
349             catch (Exception ex)
350             {
351                 throw ex;
352             }
353         }
354         //==================================================================
355         //函数名:    ReadDataByColumnsLike
356         //作者:        LiYang
357         //日期:        2015-6-26
358         //功能:        获取ACCESS数据库指定表名指定列的相似数据到缓存DataTable
359         //输入参数:    数据库路径,表名,列名,相似结点
360         //返回值:        DataTable
361         //修改记录:
362         //==================================================================
363         public static DataTable ReadDataByColumnsLike(string mdbPath, string tableName, string[] columns, Node Like)
364         {
365             DataTable dt = new DataTable();
366             DataRow dr;
367             try
368             {
369                 OleDbConnection Conn = new OleDbConnection();
370                 Conn.ConnectionString = "Provider = Microsoft.Jet.OleDb.4.0;Data Source=" + myMdbPath;
371                 Conn.Open();
372                 OleDbCommand odCommand = Conn.CreateCommand();
373                 string strColumn = "";
374                 if (columns[0] == null)
375                 {
376                     strColumn = " * ";
377                 }
378                 else
379                 {
380                     for (int i = 0; i < columns.Length; i++)
381                     {
382                         strColumn += columns[i].ToString() + ",";
383                     }
384                     strColumn = strColumn.TrimEnd(‘,‘);
385                 }
386
387                 odCommand.CommandText = "select " + strColumn + " from " + tableName + " where " + Like.NodeType + " LIKE ‘" + Like.NodeValue + "‘ ";
388                 OleDbDataReader odrReader = odCommand.ExecuteReader();
389                 //查询并显示数据
390                 int size = odrReader.FieldCount;
391                 for (int i = 0; i < size; i++)
392                 {
393                     DataColumn dc;
394                     dc = new DataColumn(odrReader.GetName(i));
395                     dt.Columns.Add(dc);
396                 }
397
398                 while (odrReader.Read())
399                 {
400                     dr = dt.NewRow();
401                     for (int i = 0; i < size; i++)
402                     {
403                         dr[odrReader.GetName(i)] = odrReader[odrReader.GetName(i)].ToString();
404                     }
405                     dt.Rows.Add(dr);
406                 }
407                 //关闭连接
408                 odrReader.Close();
409                 Conn.Close();
410                 return dt;
411             }
412             catch (Exception ex)
413             {
414                 throw ex;
415             }
416         }
417         /// <summary>
418         /// 返回某一表的所有字段名
419         /// </summary>
420         public static string[] GetTableColumn(string database_path, string varTableName)
421         {
422             DataTable dt = new DataTable();
423             try
424             {
425                 OleDbConnection conn = new OleDbConnection();
426                 conn.ConnectionString = "Provider = Microsoft.Jet.OleDb.4.0;Data Source=" + database_path;
427                 conn.Open();
428                 dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, varTableName, null });
429                 int n = dt.Rows.Count;
430                 string[] strTable = new string[n];
431                 int m = dt.Columns.IndexOf("COLUMN_NAME");
432                 for (int i = 0; i < n; i++)
433                 {
434                     DataRow m_DataRow = dt.Rows[i];
435                     strTable[i] = m_DataRow.ItemArray.GetValue(m).ToString();
436                 }
437                 conn.Close();
438                 return strTable;
439             }
440             catch (Exception ex)
441             {
442                 throw ex;
443             }
444         }
445
446         //添加一个字段
447         public static void MakeNode(ref ArrayList arraylist, string nodetype, string nodevalue)
448         {
449             AccessClass.Node node = new AccessClass.Node();
450             node.NodeType = nodetype;
451             node.NodeValue = nodevalue;
452             arraylist.Add(node);
453         }
454
455         //插入数据
456         public static bool InsertRow(string mdbPath, string tableName, ArrayList insertArray,
457               ref string errinfo)
458         {
459             try
460             {
461                 //1、建立连接
462                 string strConn
463                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=haoren";
464                 OleDbConnection odcConnection = new OleDbConnection(strConn);
465                 //2、打开连接
466                 odcConnection.Open();
467
468                 string str_col = "";
469                 int size_col = insertArray.Count;
470                 for (int i = 0; i < size_col; i++)
471                 {
472                     Node vipNode = new Node();
473                     try
474                     {
475                         vipNode = (Node)insertArray[i];
476                     }
477                     catch (System.Exception ex)
478                     {
479                         MessageBox.Show(ex.ToString());
480                     }
481                     vipNode = (Node)insertArray[i];
482                     str_col += vipNode.NodeType + ",";
483                 }
484                 str_col = str_col.TrimEnd(‘,‘);
485
486
487                 int size_row = insertArray.Count;
488                 string str_row = "";
489                 for (int i = 0; i < size_row; i++)
490                 {
491                     Node vipNode = new Node();
492                     vipNode = (Node)insertArray[i];
493                     string v = vipNode.NodeValue.ToString();
494                     v = DealString(v);
495                     if (v == "")
496                     {
497                         str_row += "null" + ‘,‘;
498                     }
499                     else
500                     {
501                         str_row += "‘" + v + "‘" + ‘,‘;
502                     }
503                 }
504                 str_row = str_row.TrimEnd(‘,‘); ;
505
506                 string sql = "insert into " + tableName + @" (" + str_col + ") values" + @"(" + str_row + ")";
507                 OleDbCommand odCommand = new OleDbCommand(sql, odcConnection);
508                 odCommand.ExecuteNonQuery();
509                 odcConnection.Close();
510                 return true;
511             }
512             catch (Exception err)
513             {
514                 errinfo = err.Message;
515                 return false;
516             }
517         }
518
519
520         public static bool UpdateRow(string mdbPath, string tableName,
521             Node keyNode, ArrayList insertArray, ref string errinfo)
522         {
523             try
524             {
525                 //1、建立连接
526                 string strConn
527                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=haoren";
528                 OleDbConnection odcConnection = new OleDbConnection(strConn);
529                 //2、打开连接
530                 odcConnection.Open();
531
532                 int size = insertArray.Count;
533                 string str = "";
534                 for (int i = 0; i < size; i++)
535                 {
536                     Node node = new Node();
537                     node = (Node)insertArray[i];
538                     string v = node.NodeValue.ToString();
539                     v = DealString(v);
540                     str += node.NodeType + " = ";
541                     if (v == "")
542                     {
543                         str += "null" + ‘,‘;
544                     }
545                     else
546                     {
547                         str += "‘" + v + "‘" + ‘,‘;
548                     }
549
550                 }
551                 str = str.TrimEnd(‘,‘);
552
553                 string sql = "update " + tableName + " set " + str +
554                     " where " + keyNode.NodeType + " = " + "‘" + keyNode.NodeValue + "‘";
555                 OleDbCommand odCommand = new OleDbCommand(sql, odcConnection);
556                 odCommand.ExecuteNonQuery();
557                 odcConnection.Close();
558                 return true;
559             }
560             catch (Exception err)
561             {
562                 errinfo = err.Message;
563                 return false;
564             }
565         }
566
567
568         public static bool UpdateMDBNode(string mdbPath, string tableName, Node keyNode,
569             Node saveNode, ref string errinfo)
570         {
571             try
572             {
573                 //1、建立连接
574                 string strConn
575                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=haoren";
576                 OleDbConnection odcConnection = new OleDbConnection(strConn);
577                 //2、打开连接
578                 odcConnection.Open();
579
580                 string sql = @"update " + tableName + " set " + saveNode.NodeType + " = ‘" + saveNode.NodeValue +
581                     "‘ where " + keyNode.NodeType + " = " + "‘" + keyNode.NodeValue + "‘";
582                 OleDbCommand comm = new OleDbCommand(sql, odcConnection);
583                 comm.ExecuteNonQuery();
584                 odcConnection.Close();
585                 return true;
586             }
587             catch (Exception err)
588             {
589                 errinfo = err.Message;
590                 return false;
591             }
592         }
593
594
595
596         //删除一条记录
597         public static bool DeleteRow(string mdbPath, string tableName, Node keyNode, ref string errinfo)
598         {
599             try
600             {
601                 //1、建立连接
602                 string strConn
603                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=haoren";
604                 OleDbConnection odcConnection = new OleDbConnection(strConn);
605                 //2、打开连接
606                 odcConnection.Open();
607                 string sql = "";
608                 if (keyNode.NodeType == null)
609                 {
610                     sql = @"delete from " + tableName;
611                 }
612                 else
613                 {
614                     sql = @"delete from " + tableName + " where " + keyNode.NodeType + " = " + "‘" + keyNode.NodeValue + "‘ ";
615                 }
616
617                 OleDbCommand comm = new OleDbCommand(sql, odcConnection);
618                 comm.ExecuteNonQuery();
619                 odcConnection.Close();
620                 return true;
621             }
622             catch (Exception err)
623             {
624                 errinfo = err.Message;
625                 return false;
626             }
627         }
628
629         public static bool ClearTable(string mdbPath, string tableName, ref string errinfo)
630         {
631
632             try
633             {
634                 //1、建立连接
635                 string strConn
636                     = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + mdbPath + ";Jet OLEDB:Database Password=haoren";
637                 OleDbConnection odcConnection = new OleDbConnection(strConn);
638                 //2、打开连接
639                 odcConnection.Open();
640                 string sql = "";
641
642                 sql = @"delete * from " + tableName;
643
644                 OleDbCommand comm = new OleDbCommand(sql, odcConnection);
645                 comm.ExecuteNonQuery();
646                 odcConnection.Close();
647
648                 return true;
649             }
650
651             catch (Exception err)
652             {
653                 errinfo = err.Message;
654                 return false;
655             }
656
657         }
658
659
660
661         //处理数据,在把数据存到数据库前,先屏蔽那些危险字符!
662         public static string DealString(string str)
663         {
664             str = str.Replace("<", "<");
665             str = str.Replace(">", ">");
666             str = str.Replace("\r", "<br>");
667             str = str.Replace("\‘", "’");
668             str = str.Replace("\x0020", " ");
669
670             return (str);
671         }
672
673         //恢复数据:把数据库中的数据,还原成未处理前的样子
674         public static string UnDealString(string str)
675         {
676             str = str.Replace("<", "<");
677             str = str.Replace(">", ">");
678             str = str.Replace("<br>", "\r");
679             str = str.Replace("’", "\‘");
680             str = str.Replace(" ", "\x0020");
681
682             return (str);
683         }
684
685
686
687     }
688 }

相关问题及解决方法记录

P:ADOX缺少程序集引用 
S:引用C:\Program Files\Common Files\System\ado\msadox.dll,该DLL包含ADOX命名空间,

P:无法对ADOX嵌入式式互操作
S:ADOX属性->嵌入互操作类型改为false

P:ADODB缺少程序集引用
S:引用C:\Program Files\Common Files\System\ado\msjro.dll,该dll包含ADOB命名空间,或在.net中添加adodb也可。

时间: 2024-11-09 22:39:52

C#操作Access的相关文章

C# 操作access db

1:如何读取DataSet 例:对象为ds ds.Table[0].Rows[0]["字段"].Value 就可以取得2:如何写到access数据库 代码有点多,建议重新搜索一下[C# 操作access] 有很多代码可用 参考:http://zhidao.baidu.com/question/296512460.html3:一开始access 不存在那么存在如下几个问题 A:如何利用C#创建一个access文件 参考:http://zhidao.baidu.com/question/2

C#操作access练习

ORM框架使用dapper,dapper不仅能操作sqlserver,也能操作access,下面为基本代码: OleDbConnection strConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "db.mdb" + ";Persist Security Info=False"); //建立数据库引擎连接,注意数据表(后缀为.db

C#操作access和SQL server数据库代码实例

在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:using System.Data.OleDb; sql server:using System.Data.SqlClient; 下面是我写的access和sql 数据库操作的两个类: 1 //1.操作sql数据库的类 2 public class DBOperSQL1 3 { 4 public stati

Winform操作Access数据库增删改操作学习笔记

此程序是本人学习Winform操作Access数据库时学习笔记. 程序源码来源于:<Visual C# 2008 程序开发入门与提高 >赵增敏 编著 操作方法: 1.新建一个Winform项目,并将该项目设置为启动项目: 2.复制数据库文件到程序根目录下. 3.添加3个Label.两个TextBox.一个ListBox,四个Button控件. 4.窗体底部Label修改名称为“labelMsg”,两个文本框修改名称为:textboxSurname,textboxName. 5.列表框命名为Li

MFC通过ADO操作Access数据库

我在<VC知识库在线杂志>第十四期和第十五期上曾发表了两篇文章--"直接通过ODBC读.写Excel表格文件"和"直接通过DAO读.写Access文件",先后给大家介绍了ODBC和DAO两种数据库访问技术的基本使用方法,这次要给大家介绍的是ADO数据库访问技术的使用方法.ADO(Active Data Object,活动数据对象)实际上是一种基于COM(组件对象模型)的自动化接口(IDispatch)技术,并以OLE DB(对象连接和镶入的数据库)为基础

C#操作Access的一些小结

C#操作Access的一些小结 好久没有写blog,感觉今年一年都没怎么真正开心过,整天有一些事围绕在身边,使心情难以平静下来,真正写点有意义的东西.博客园是天天看的,看得多,写的少,偶尔也是Copy一篇技术文章放一下,便于自己将来查询. 最近有Winfom做了一个小系统,后台数据库是用Access,主要是单机版,考虑方便性,现在总结一些值得后来人参考的地方. 一,数据库操作基类 一般都要写个基类,这样,将来换数据库,换一下这个DA基类就行了.这个类也是从网上找的.不过感觉有的挺不错,一般就要返

Delphi操作ACCESS技巧集

1.DELPHI中操作access数据库(建立.mdb文件,压缩数据库)以下代码在WIN2K,D6,MDAC2.6下测试通过,编译好的程序在WIN98第二版无ACCESS环境下运行成功.//在之前uses ComObj,ActiveX//声明连接字符串Const SConnectionString = 'PRovider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;' +'Jet OLEDB:Database PassWord=%s;'; //=========

VC++中使用ADO方式操作ACCESS数据库

ADO(ActiveX Data Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API.DAO.RDO都要容易使用,并不失灵活性.本文详细地介绍在Visual C++开发环境下如何使用ADO来进行数据库应用程序开发,并给出示例代码.为了使读者朋友都能测试本例提供的代码,我们采用Access数据库,您可以直接在我们提供的示例代码中找到

【c#】ADO操作Access的mdb数据库只能读不能修改的解决方法

在使用ACCESS数据库时连接字符串如 string [email protected]"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\Access操作\简易ACCESS数据库\简易ACCESS数据库\学生表.mdb"; 红色标注的部分是要使用绝对路径不然对access不能插入不能修改 另外 执行command字符串时先在t-sql中调试关键字,如表格名称.字段名尽量用[ ]括起来 原文地址:https://www.cnblogs.co