国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用ADO.Net部件來訪問Access數據庫的方法

2019-10-29 21:38:59
字體:
來源:轉載
供稿:網友

數據庫的訪問是所有編程語言中最重要的部分,C#提供了ADO.Net部件用于對數據庫進行訪問。我們將從最簡單易用的微軟Access數據庫入手討論在C#中對數據庫的訪問。

C#中的Connection對象和Command對象與Access類似,但在這里我們還將使用其另一個與RecordSet類似的被稱作ADODataReader的對象,它負責處理與查詢有關的RecordSet對象。

首先,必須使用微軟的Access創建一個數據庫。運行Access,創建一個數據庫,但不要創建任何表(我們將在下面的程序中創建表。),保存創建的數據庫。

打開控制面板中的ODBC圖標,點擊System DNS標簽,依次選擇Add>Microsoft Access,并點擊Finish按鈕。在拉下來的對話框中輸入數據源的名字,比如是mymdb,然后創建數據源,雙擊OK按鈕。

在下面的程序中,我們將創建一個表,并在其中插入一些值。

程序非常地簡單和直觀。在Main()函數中,ADOConnection對象將數據源的名字取到構造器中,然后使用ADOConenction的Open()方法打開該連接。

在連接建立后,程序將創建包含二個字段的表a1,其中字段name的類型為字符型,vno的類型為整型。Create table命令已經放在ADOCommand的構造器中,ExecuteNonQuery()方法用于執行這一查詢,該方法不會返回任何記錄集。同樣,Insert和Delete查詢也可以放到ADOCommand的Constructor中,因此可以象在VB中那樣傳遞任何SQL查詢。

ADODataReader是新出現的,它是本段程序中主要的對象,負責處理ADOCommand返回的記錄集。使用xecute()方法,就可以看到從數據庫中返回的數據。ADODataReader的Read()方法則返回布爾型的值,TRUE標志著數據在ADODataReader對象中,而且將當前指針移動到了ADODataReader對象的下一條記錄上。

使用Visual Studio.Net 編譯下面的程序代碼。

 

 
  1. namespace database1  
  2. {  
  3. using System;  
  4. using System.Data.ADO;  
  5.  
  6. public class Class1  
  7. {  
  8. public Class1()  
  9. {  
  10. //  
  11. // 在這里添加Constructor的邏輯  
  12. //  
  13. }  
  14.  
  15. public static int Main(string[] args)  
  16. {  
  17. try 
  18. {  
  19. ADOConnection s = new ADOConnection("Data Source=mymdb");  
  20. s.Open();  
  21. Console.WriteLine("Connection Established");  
  22.  
  23. //創建表  
  24. Console.Write("Want to Create a Table?(y/n) ");  
  25. string ch = Console.ReadLine();  
  26. if (ch == "y")  
  27. {  
  28. ADOCommand CreateTable = new ADOCommand("Create Table a1(vno integer,name char(20))", s);  
  29. CreateTable.ExecuteNonQuery();  
  30. Console.WriteLine("AOCommand Executed / Table Created");  
  31. }  
  32.  
  33. //在表中插入值  
  34. Console.Write("Want to Insert Some values in a Table?(y/n) ");  
  35. ch = Console.ReadLine();  
  36. if (ch == "y")  
  37. {  
  38. ADOCommand InsTable = new 
  39. ADOCommand("insert into a1 values(1, 'hi')", s);  
  40.  
  41. InsTable.ExecuteNonQuery();  
  42. Console.WriteLine("Values Inserted");  
  43. }  
  44.  
  45. //刪除整個表  
  46. Console.Write("Want to Delete All Records Present in the Table?(y/n) ");  
  47. ch = Console.ReadLine();  
  48. if (ch == "y")  
  49. {  
  50. ADOCommand DeleteTable = new ADOCommand("Delete from a1", s);  
  51. DeleteTable.ExecuteNonQuery();  
  52. Console.WriteLine("All Records Deleted From the Table");  
  53. }  
  54.  
  55. //看所有記錄  
  56. Console.Write("Want to See all the Records Present in the Table /Database (y/n)? ");  
  57. ch = Console.ReadLine();  
  58. if (ch == "y")  
  59. {  
  60. ADOCommand AllRecs = new ADOCommand("select * from a1", s);  
  61. ADODataReader r;  
  62. AllRecs.Execute(out r);  
  63. while(r.Read())  
  64. {  
  65. for(int i=0; i < r.FieldCount;i++)  
  66. {  
  67. Console.Write(r.GetValue(i)+ " ");  
  68. }  
  69. Console.WriteLine();  
  70. }  
  71. Console.WriteLine("All Records Displayed");  
  72. r.Close();  
  73. }  
  74.  
  75. s.Close();  
  76. Console.ReadLine();  
  77. }  
  78. catch(System.Exception e)  
  79. {  
  80. Console.WriteLine(e.ToString());  
  81. Console.ReadLine();  
  82. }  
  83.  
  84. return 0;  
  85. // Main函數結束  
  86. // Class結束  
  87. }// 名字空間結束 

以上就是在C#中使用ADO.Net部件來訪問Access數據庫的過程,希望對大家的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 无极县| 章丘市| 商丘市| 横峰县| 双牌县| 永顺县| 宝应县| 洪洞县| 崇州市| 林芝县| 甘孜县| 冕宁县| 新河县| 九寨沟县| 天气| 定襄县| 信阳市| 蒙自县| 吐鲁番市| 宣恩县| 溧水县| 湛江市| 根河市| 河源市| 东乌| 张家口市| 买车| 大城县| 枣庄市| 长沙县| 仁化县| 榆树市| 英德市| 庄浪县| 桦南县| 苍梧县| 乡城县| 库车县| 古田县| 沁阳市| 诏安县|