概述C#数据库操作类

开发 后端
这里介绍C#数据库操作类主要包括两类方法:一类用来直接执行SQL语句,另一类用来执行存储过程,其中的数据库连接字符串的数据库路径采用了绝对路径。

C#数据库操作类的封装是任何工程都必不可少地,本例当然也不例外。C#数据库操作类主要包括两类方法:一类用来直接执行SQL语句,另一类用来执行存储过程。

其中的数据库连接字符串的数据库路径采用了绝对路径,读者调试程序时应当做相应的更改。C#数据库操作类具体代码如下:

  1. usingSystem;  
  2. usingSystem.Collections.Generic;  
  3. usingSystem.Text;  
  4. usingSystem.Data.SqlClient;  
  5. usingSystem.Data;  
  6. namespaceMyChat  
  7.  
  8. {  
  9.  
  10. //数据库操作类  
  11.  
  12. publicclassSql  
  13. {  
  14. privatestringstr=null;//数据库连接字符串  
  15. publicSqlConnectionCon;//sql数据连接组件实例化  
  16. publicSqlCommandcommand=newSqlCommand();//初始化一个SQL命令对象  
  17. publicSql()//类初始化,初始化数据连接  
  18. {  
  19. stringpath=@"C:\DocumentsandSettings\Administrator\桌面\tools\  
  20. mychat1.0\Chat";  
  21. //数据库连接字符串  
  22. str="DataSource=.\\SQLEXPRESS;AttachDbFilename=\""+path+"\\app_data\\chat.mdf\";  
  23. IntegratedSecurity=TrueUserInstance=True";  
  24. Con=newSqlConnection(str);  
  25. }  
  26.  
  27. #regionSQL语句操作  
  28.  
  29. //执行只读数据信息的提取,返回一个datareader  
  30.  
  31. publicSqlDataReaderGetReader(stringsearch)  
  32. {  
  33. SqlDataReaderReader;  
  34. if(Con.State!=ConnectionState.Open)  
  35. Con.Open();//打开数据库连接  
  36. SqlCommandCom=newSqlCommand(search,Con);  
  37. Reader=Com.ExecuteReader();//执行SQL语句  
  38. returnReader;//返回一个reader  
  39. }  
  40.  
  41. //输入查询字符串,返回dataset  
  42.  
  43. publicDataSetgetMyDataSet(stringsql)  
  44. {  
  45. command.Connection=Con;//配置command对象  
  46. command.CommandText=sql;//赋予要执行的语句  
  47. DataSetdt=newDataSet();//初始化一个数据返回集合  
  48. SqlDataAdapterda=newSqlDataAdapter(command);  
  49. Con.Open();//打开连接  
  50. da.Fill(dt);//执行语句  
  51. command.Connection.Close();//关闭连接  
  52. returndt;  
  53. }  
  54.  
  55. //执行非查询SQL语句  
  56.  
  57. publicvoidExecuteSql(stringsql)  
  58. {  
  59. if(Con.State!=ConnectionState.Open)  
  60. Con.Open();//如果数据连接关闭,则打开  
  61. SqlCommandCom=newSqlCommand(sql,Con);  
  62. Com.ExecuteNonQuery();//执行非查询SQL语句  
  63. Con.Close();  
  64. }  
  65.  
  66. //执行非查询数据库操作,是否关闭数据库连接可以选择  
  67.  
  68. publicvoidExecuteSql(stringsql,boolcloseConnection)  
  69. {  
  70. if(Con.State!=ConnectionState.Open)  
  71. Con.Open();//如果未打开连接,则打开  
  72. SqlCommandCom=newSqlCommand(sql,Con);  
  73. Com.ExecuteNonQuery();  
  74. if(closeConnection)Con.Close();//如果需要关闭,则关闭连接  
  75. }  
  76.  
  77. #endregion  
  78. #region执行存储过程的代码  
  79.  
  80. //输入存储过程名称,执行查询存储过程  
  81. publicDataSetgetDataSet(stringprodureName)  
  82. {  
  83. command.Connection=Con;//赋予连接对象  
  84. //执行的类型为存储过程  
  85. command.CommandType=CommandType.StoredProcedure;  
  86. command.CommandText=produreName;//赋予执行的存储过程名字  
  87. DataSetdt=newDataSet();  
  88. SqlDataAdapterda=newSqlDataAdapter(command);  
  89. Con.Open();//打开连接  
  90. da.Fill(dt);//填充数据  
  91. command.Connection.Close();  
  92. returndt;//返回数据集  
  93. }  
  94.  
  95. //输入存储过程名,执行非查询存储过程  
  96.  
  97. publicboolexec(stringprodureName)  
  98. {  
  99. boolflag=false;//任务是否正确执行,初始化为false  
  100. command.Connection=Con;//赋予command对象以数据连接  
  101. command.CommandType=CommandType.StoredProcedure;  
  102. command.CommandText=produreName;//存储过程名称  
  103. try  
  104. {  
  105. command.ExecuteNonQuery();//执行存储过程  
  106. flag=true;//正确完成任务  
  107. }  
  108.  
  109. finally  
  110. {  
  111. command.Connection.Close();//关闭连接  
  112. }  
  113. returnflag;//返回成功与否的标志  
  114. }  
  115. #endregion  
  116. }  

【编辑推荐】

  1. 浅析C# ArrayList
  2. C#对象初始化学习总结
  3. 使用C#正则表达式匹配相关字符串
  4. C#改写方法学习笔记
  5. 概述C#加框和消框
责任编辑:佚名 来源: 博客园
相关推荐

2009-07-31 17:01:21

C#存取Access数

2009-08-25 12:50:32

数据库常用C#代码

2009-09-01 09:45:49

Visual C#对数

2009-08-25 16:36:16

C#进行数据库编程

2024-04-18 09:56:16

2009-09-03 10:42:16

C# Employee

2009-07-31 16:45:23

ASP.NET数据库操

2009-08-10 18:05:19

C#数据库查询

2009-08-19 16:30:55

C#操作Access数

2009-08-19 16:40:26

C#操作Access数

2009-09-04 13:31:33

C#抽象类

2024-04-03 00:06:03

2009-08-28 16:14:26

C#实现加载动态库

2009-08-11 13:35:13

C# Berkeley

2009-03-19 10:08:09

C#数据库查询

2009-08-19 16:19:01

C#操作Access数

2009-08-24 16:46:04

C# 泛型

2010-10-26 15:21:11

连接Oracle数据库

2009-08-12 16:39:50

C#向Excel插入数

2009-08-07 17:54:41

C#单元格数据
点赞
收藏

51CTO技术栈公众号