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

摘要:
在C#学习中,数据库操作是一种常见的技术,而access和sqlserver数据库操作是不同的。首先,需要引用不同的类。

    在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同。那么,有哪些不同呢?

    C#操作access和SQL server数据库代码实例第1张    C#操作access和SQL server数据库代码实例第2张

    首先,需要引用不同的类。因为有着不同的数据引擎。

    access:using System.Data.OleDb;

    sql server:using System.Data.SqlClient;

    下面是我写的access和sql 数据库操作的两个类:

    

 1 //1、操作sql数据库的类
 2     public class DBOperSQL1
 3     {
 4         public static string mark = "sql";
 5         //连接对象私有字段
 6         private static SqlConnection conn;
 7         //连接对象的属性
 8         public static SqlConnection Connection
 9         {
10             get
11             {
12                 if (conn == null)
13                 {
14                     //从配置文件中获取连接字符串,取消
15                     string connStr = ConfigurationManager.ConnectionStrings["medicineConStr"].ConnectionString;
16                     conn = new SqlConnection(connStr);
17                     conn.Open();
18                 }
19                 else if (conn.State == System.Data.ConnectionState.Closed)
20                 {
21                     conn.Open();
22                 }
23                 else if (conn.State == System.Data.ConnectionState.Broken)
24                 {
25                     conn.Close();
26                     conn.Open();
27                 }
28                 return conn;
29             }
30         }
31 
32         //不带参数的执行
33         public static int ExecuteCommand(string sql)
34         {
35             SqlCommand cmd = new SqlCommand(sql, Connection);
36             return cmd.ExecuteNonQuery();
37         }
38 
39         //带参数的执行
40         public static int ExecuteCommand(string sql, params SqlParameter[] values)
41         {
42             SqlCommand cmd = new SqlCommand(sql, Connection);
43             cmd.Parameters.AddRange(values);
44             return cmd.ExecuteNonQuery();
45 
46         }
47 
48         //不带参数的获取数据读取器
49         public static SqlDataReader GetReader(string sql)
50         {
51             SqlCommand cmd = new SqlCommand(sql, Connection);
52             return cmd.ExecuteReader();
53         }
54         //带参数的数据读取器
55         public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
56         {
57             SqlCommand cmd = new SqlCommand(sql, Connection);
58             cmd.Parameters.AddRange(values);
59             return cmd.ExecuteReader();
60         }
61 
62         //不带参数的获取数据数据集中的表
63         public static DataTable GetDataTable(string sql)
64         {
65             SqlDataAdapter da = new SqlDataAdapter(sql, Connection);
66             DataSet ds = new DataSet();
67             da.Fill(ds);
68             return ds.Tables[0];
69         }
70         //带参数的数据集中的表
71         public static DataTable GetDataTable(string sql, params SqlParameter[] values)
72         {
73             SqlCommand cmd = new SqlCommand(sql, Connection);
74             cmd.Parameters.AddRange(values);
75             SqlDataAdapter da = new SqlDataAdapter(cmd);
76             DataSet ds = new DataSet();
77             da.Fill(ds);
78             return ds.Tables[0];
79         }
80     }
2.操作access数据库的类

    

 1 //操作access
 2     public class DBOperAccess
 3     {
 4         public static string mark = "access";
 5         //连接对象私有字段
 6         private static OleDbConnection conn;
 7         //连接对象的属性
 8         public static OleDbConnection Connection
 9         {
10             get
11             {
12                 if (conn == null)
13                 {
14                     //从配置文件中获取连接字符串,取消
15                     string connStr = ConfigurationManager.ConnectionStrings["medConStr"].ConnectionString;
16                     //string connStr= "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=D:\med\medicine.mdb";
17                     conn = new OleDbConnection(connStr);
18                     conn.Open();
19                 }
20                 else if (conn.State == System.Data.ConnectionState.Closed)
21                 {
22                     conn.Open();
23                 }
24                 else if (conn.State == System.Data.ConnectionState.Broken)
25                 {
26                     conn.Close();
27                     conn.Open();
28                 }
29                 return conn;
30             }
31         }
32 
33         //不带参数的执行
34         public static int ExecuteCommand(string sql)
35         {
36             OleDbCommand cmd = new OleDbCommand(sql, Connection);
37             return cmd.ExecuteNonQuery();
38         }
39 
40         //带参数的执行
41         public static int ExecuteCommand(string sql, params OleDbParameter[] values)
42         {
43             OleDbCommand cmd = new OleDbCommand(sql, Connection);
44             cmd.Parameters.AddRange(values);
45             return cmd.ExecuteNonQuery();
46 
47         }
48 
49         //不带参数的获取数据读取器
50         public static OleDbDataReader GetReader(string sql)
51         {
52             OleDbCommand cmd = new OleDbCommand(sql, Connection);
53             return cmd.ExecuteReader();
54         }
55         //带参数的数据读取器
56         public static OleDbDataReader GetReader(string sql, params OleDbParameter[] values)
57         {
58             OleDbCommand cmd = new OleDbCommand(sql, Connection);
59             cmd.Parameters.AddRange(values);
60             return cmd.ExecuteReader();
61         }
62 
63         //不带参数的获取数据数据集中的表
64         public static DataTable GetDataTable(string sql)
65         {
66             OleDbDataAdapter da = new OleDbDataAdapter(sql, Connection);
67             DataSet ds = new DataSet();
68             da.Fill(ds);
69             return ds.Tables[0];
70         }
71         //带参数的数据集中的表
72         public static DataTable GetDataTable(string sql, params OleDbParameter[] values)
73         {
74             OleDbCommand cmd = new OleDbCommand(sql, Connection);
75             cmd.Parameters.AddRange(values);
76             OleDbDataAdapter da = new OleDbDataAdapter(cmd);
77             DataSet ds = new DataSet();
78             da.Fill(ds);
79             return ds.Tables[0];
80         }
81     }


    

免责声明:文章转载自《C#操作access和SQL server数据库代码实例》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vscode----vue模板--用户代码片段--快捷清除img和文字间的空隙【vertical-align的用途】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

(七) SpringBoot起飞之路-整合SpringSecurity(Mybatis、JDBC、内存)

兴趣的朋友可以去了解一下前五篇,你的赞就是对我最大的支持,感谢大家! (一) SpringBoot起飞之路-HelloWorld (二) SpringBoot起飞之路-入门原理分析 (三) SpringBoot起飞之路-YAML配置小结(入门必知必会) (四) SpringBoot起飞之路-静态资源处理 (五) SpringBoot起飞之路-Thymel...

csv文件转换json文件

import java.io.*; import java.util.Arrays; import java.util.List; // CSV文件转 json文件 // 使用csvToJSon对象的.ConvertToJson方法 带入 csv文件路径及导出路径。 public class CSVToJSon { //cvs文件 pri...

oracle的热备份和冷备份

一、冷备份介绍:    冷备份数据库是将数据库关闭之后备份所有的关键性文件包括数据文件、控制文件、联机REDO LOG文件,将其拷贝到另外的位置。此外冷备份也可以包含对参数文件和口令文件的备份,但是这两种备份是可以根据需要进行选择的。,冷备份实际也是一种物理备份,是一个备份数据库物理文件的过程。因为冷备份要备份除了重做日志以外的所有数据库文件,因此也被成为...

使用TRY CATCH进行SQL Server异常处理

TRY...CATCH是Sql Server 2005/2008令人印象深刻的新特性.提高了开发人员异常处理能力.没有理由不尝试一下Try.. Catch功能.    *      TRY 块 - 包含可能产生异常的代码或脚本    *      CATCH 块 - 如果TRY块出现异常,代码处理流将被路由到CATCH块.在这里你可以处理异常,记录日志等....

实验3- 熟悉常用的 HBase 操作

石家庄铁道大学信息科学与技术学院 实验报告 2018年----2019年第一学期 题目:熟悉常用的 HBase 操作 课程名称:大型数据库应用技术 班级:信1605-2班 姓名: XX学号: XXXXXXXX 指导教师: XXX 一、实验内容与完成情况:(实验具体步骤和实验截图说明) 实验...

将excel文件的内容导入sql server数据库的方法

1,首先创建一个相应的表,格式保证和excel文件相同。 2,在导入之前,要把数据库安全限制的开关打开。地点是sql server 构成 tool 的 security 构成里面的机能security构成里面的 open row set & open data source 选项打上钩。确定。 3,输入sql语句,执行导入 例子如下 Codeus...