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

首先,需要引用不同的类。因为有着不同的数据引擎。
access:using System.Data.OleDb;
sql server:using System.Data.SqlClient;
下面是我写的access和sql 数据库操作的两个类:
//1、操作sql数据库的类
public class DBOperSQL1
{
public static string mark = "sql";
//连接对象私有字段
private static SqlConnection conn;
//连接对象的属性
public static SqlConnection Connection
{
get
{
if (conn == null)
{
//从配置文件中获取连接字符串,取消
string connStr = ConfigurationManager.ConnectionStrings["medicineConStr"].ConnectionString;
conn = new SqlConnection(connStr);
conn.Open();
}
else if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
}
else if (conn.State == System.Data.ConnectionState.Broken)
{
conn.Close();
conn.Open();
}
return conn;
}
} //不带参数的执行
public static int ExecuteCommand(string sql)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
return cmd.ExecuteNonQuery();
} //带参数的执行
public static int ExecuteCommand(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery(); } //不带参数的获取数据读取器
public static SqlDataReader GetReader(string sql)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
return cmd.ExecuteReader();
}
//带参数的数据读取器
public static SqlDataReader GetReader(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteReader();
} //不带参数的获取数据数据集中的表
public static DataTable GetDataTable(string sql)
{
SqlDataAdapter da = new SqlDataAdapter(sql, Connection);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[];
}
//带参数的数据集中的表
public static DataTable GetDataTable(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.Parameters.AddRange(values);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[];
}
}
2.操作access数据库的类
//操作access
public class DBOperAccess
{
public static string mark = "access";
//连接对象私有字段
private static OleDbConnection conn;
//连接对象的属性
public static OleDbConnection Connection
{
get
{
if (conn == null)
{
//从配置文件中获取连接字符串,取消
string connStr = ConfigurationManager.ConnectionStrings["medConStr"].ConnectionString;
//string connStr= "Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=D:\\med\\medicine.mdb";
conn = new OleDbConnection(connStr);
conn.Open();
}
else if (conn.State == System.Data.ConnectionState.Closed)
{
conn.Open();
}
else if (conn.State == System.Data.ConnectionState.Broken)
{
conn.Close();
conn.Open();
}
return conn;
}
} //不带参数的执行
public static int ExecuteCommand(string sql)
{
OleDbCommand cmd = new OleDbCommand(sql, Connection);
return cmd.ExecuteNonQuery();
} //带参数的执行
public static int ExecuteCommand(string sql, params OleDbParameter[] values)
{
OleDbCommand cmd = new OleDbCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteNonQuery(); } //不带参数的获取数据读取器
public static OleDbDataReader GetReader(string sql)
{
OleDbCommand cmd = new OleDbCommand(sql, Connection);
return cmd.ExecuteReader();
}
//带参数的数据读取器
public static OleDbDataReader GetReader(string sql, params OleDbParameter[] values)
{
OleDbCommand cmd = new OleDbCommand(sql, Connection);
cmd.Parameters.AddRange(values);
return cmd.ExecuteReader();
} //不带参数的获取数据数据集中的表
public static DataTable GetDataTable(string sql)
{
OleDbDataAdapter da = new OleDbDataAdapter(sql, Connection);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[];
}
//带参数的数据集中的表
public static DataTable GetDataTable(string sql, params OleDbParameter[] values)
{
OleDbCommand cmd = new OleDbCommand(sql, Connection);
cmd.Parameters.AddRange(values);
OleDbDataAdapter da = new OleDbDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
return ds.Tables[];
}
}
C#操作access和SQL server数据库代码实例的更多相关文章
- 用ASP.NET/C#连接Access和SQL Server数据库
连接Access 首先看一个例子代码片断:程序代码: ------------------------------------------------------------------------- ...
- SQL Server数据库代码指令简介
这些是比较常用的命令操作,事先声明,这些命令是不区分大小写的,我按照我的课本来总结用法和知识点,无用的章节自动省略. 没有一点数据库知识基础的可以等我录制视频,不然可能看不懂,视频链接:http:// ...
- 一段后台C#查询SQL Server数据库代码
using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.W ...
- sql server 数据库代码备份及还原代码
--备份 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd.bak' --备份并覆盖 BACKUP DATABASE [库名称] TO DISK='E:\qq\ddd. ...
- SQL Server 数据库存储过程实例
USE [UFDATA_999_2014] GO /****** Object: StoredProcedure [dbo].[p_XMonPerNums] Script Date: 06/12/20 ...
- JDBC连接sql server数据库的详细步骤和代码
JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...
- JDBC连接sql server数据库的详细步骤和代码 转
JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序(只做一次): 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.C ...
- JDBC连接sql server数据库及其它
JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...
- 解决修改重命名sql Server数据库名称
错误: 消息 5030,级别 16,状态 2,第 1 行无法用排他锁锁定该数据库,以执行该操作. 解决方法:(原理一样) 1.将数据库设置为单用户模式 (单用户模式指定一次只有一个用户可访问数据库,该 ...
随机推荐
- 归一化方法 Normalization Method
1. 概要 数据预处理在众多深度学习算法中都起着重要作用,实际情况中,将数据做归一化和白化处理后,很多算法能够发挥最佳效果.然而除非对这些算法有丰富的使用经验,否则预处理的精确参数并非显而易见. 2. ...
- iOS中富文本NSMutableAttributedString的用法
NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc]initWithString:@"我是富文 ...
- tensorflow 一些好的blog链接和tensorflow gpu版本安装
pading :SAME,VALID 区别 http://blog.csdn.net/mao_xiao_feng/article/details/53444333 tensorflow实现的各种算法 ...
- 一.Jenkins安装
1.Java安装: 安装包:jdk-8u73-windows-x64.exe.jdk-8u73-windows-i586.exe(i586是32位系统包) Java环境变量配置:http://jing ...
- C#之设计模式
单例的一种实现方式 1.构造函数私有化 2.声明一个静态字段,作为全局唯一的单例对象 3.声明一个静态函数,返回全局唯一的对象 using System; using System.Collectio ...
- HTTP Cookie详解
1.什么是HTTP Cookie? Wikipedia给出的定义是:An HTTP cookie is a small piece of data sent from a website and st ...
- Java虚拟机(JVM)以及跨平台原理详细的介绍
相信大家已经了解到Java具有跨平台的特性,可以"一次编译,到处运行",在Windows下编写的程序,无需任何修改就可以在Linux下运行,这是C和C++很难做到的.那么,跨平台是 ...
- 自用论文排版组合 = LyX2.2.2 + TeXLive2016
注意的地方: 1.要支持中文的话选CTEX类,其他地方默认即可: 2.文档分"导言区"和"文档区",一般的编辑直接使用LyX的工具,额外的宏包在导言区添加,具体 ...
- Docker 清理命令集锦
杀死所有正在运行的容器 复制代码代码如下: docker kill $(docker ps -a -q) 删除所有已经停止的容器 复制代码代码如下: docker rm $(docker ps -a ...
- CSS3 速移动效果动画流畅无卡顿
js或jquery 元素移动以像素计算,手机上移动效果会有卡顿 利用CSS3 可以很简单的实现流畅的移动动画 transform: translate3d(66px, 88px, 0px) rotat ...