Access和SQL-Server数据库数据操作的对比
2008-01-20 09:07
393 查看
以前一直使用的是SQL-Server数据库,很少使用Access数据库,这些天要做一个小东西,就使用起Access数据来,其实两种数据库的操作主要是对数据库的操作方面引用的命名空间不一样。
它们对数据的操作总结如下,有什么不对的地方,请多给宝贵意见。
Access数据库:
首先在命名空间中添加访问Access数据库的引用
using System.Data.OleDb;
********************
public class common
{
protected OleDbConnection conn;
protected OleDbDataReader dr;
public common()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public string getconnstring()
{
string constr;
string path= System.Web.HttpContext.Current.Server.MapPath("DataBase\\ZSBDB.mdb");
constr ="provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"";
return constr;
}
public void DBopen()
{
string constr;
constr = getconnstring();
conn = new OleDbConnection(constr);
conn.Open();
}
//关闭数据库的连接
public void DBclose()
{
conn.Close();
}
public DataSet DataSets(string query)
{
DBopen();
OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn);
DataSet dtSet = new DataSet();
adapter.Fill(dtSet);
DBclose();
return dtSet;
}
public DataView Dataviews(string sql)
{
DataSet dataset = new DataSet();
dataset = DataSets(sql);
DataView dataview = new DataView(dataset.Tables[0]);
DBclose();
return dataview;
}
public SqlDataSource DataSource(string sql)
{
DBopen();
AccessDataSource datasource = new AccessDataSource(getconnstring(), sql);
DBclose();
return datasource;
}
public void sqlexecute(string sql)
{
DBopen();
OleDbCommand command = new OleDbCommand(sql, conn);
try
{
command.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception(ex.Message);
}
finally
{
DBclose();
}
}
public int sqlexecutereader(string sql)
{
DBopen();
OleDbCommand myComm = new OleDbCommand(sql, conn);
int newID = Convert.ToInt32(myComm.ExecuteScalar());
DBclose();
return newID;
}
}
说明:在访问Access数据库的时候也可把数据库访问信息放在配置文件中,在此处我是直接使用了。
SQL-Server数据库:
首先在命名空间中添加访问SQL-Server数据库的引用
using System.Data.SqlClient;
using System.Data.Sql;
**********************
public class common
{
public common()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public SqlConnection Connection;
public string getconnstring()
{
string constr;
constr = System.Configuration.ConfigurationManager.ConnectionStrings["EMISConnectionString"].ToString();
return constr;
}
public void DBopen()
{
//从Web.config中获取连接数据库字符串
string constr;
constr = getconnstring();
Connection = new SqlConnection(constr);
Connection.Open();
}
//关闭数据库的连接
public void DBclose()
{
Connection.Close();
}
public DataSet DataSets(string query)
{
DBopen();
SqlDataAdapter adapter = new SqlDataAdapter(query, Connection);
DataSet dtSet = new DataSet();
adapter.Fill(dtSet);
DBclose();
return dtSet;
}
public DataView Dataviews(string sql)
{
DataSet dataset = new DataSet();
dataset = DataSets(sql);
DataView dataview = new DataView(dataset.Tables[0]);
DBclose();
return dataview;
}
public SqlDataSource DataSource(string sql)
{
DBopen();
SqlDataSource datasource = new SqlDataSource(getconnstring(), sql);
DBclose();
return datasource;
}
public void sqlexecute(string sql)
{
DBopen();
SqlCommand command = new SqlCommand(sql, Connection);
try
{
command.ExecuteNonQuery();
}
catch (SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
DBclose();
}
}
public int sqlexecutereader(string sql)
{
DBopen();
SqlCommand myComm = new SqlCommand(sql, Connection);
int newID = Convert.ToInt32(myComm.ExecuteScalar());
DBclose();
return newID;
}
}
它们对数据的操作总结如下,有什么不对的地方,请多给宝贵意见。
Access数据库:
首先在命名空间中添加访问Access数据库的引用
using System.Data.OleDb;
********************
public class common
{
protected OleDbConnection conn;
protected OleDbDataReader dr;
public common()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public string getconnstring()
{
string constr;
string path= System.Web.HttpContext.Current.Server.MapPath("DataBase\\ZSBDB.mdb");
constr ="provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+"";
return constr;
}
public void DBopen()
{
string constr;
constr = getconnstring();
conn = new OleDbConnection(constr);
conn.Open();
}
//关闭数据库的连接
public void DBclose()
{
conn.Close();
}
public DataSet DataSets(string query)
{
DBopen();
OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn);
DataSet dtSet = new DataSet();
adapter.Fill(dtSet);
DBclose();
return dtSet;
}
public DataView Dataviews(string sql)
{
DataSet dataset = new DataSet();
dataset = DataSets(sql);
DataView dataview = new DataView(dataset.Tables[0]);
DBclose();
return dataview;
}
public SqlDataSource DataSource(string sql)
{
DBopen();
AccessDataSource datasource = new AccessDataSource(getconnstring(), sql);
DBclose();
return datasource;
}
public void sqlexecute(string sql)
{
DBopen();
OleDbCommand command = new OleDbCommand(sql, conn);
try
{
command.ExecuteNonQuery();
}
catch (OleDbException ex)
{
throw new Exception(ex.Message);
}
finally
{
DBclose();
}
}
public int sqlexecutereader(string sql)
{
DBopen();
OleDbCommand myComm = new OleDbCommand(sql, conn);
int newID = Convert.ToInt32(myComm.ExecuteScalar());
DBclose();
return newID;
}
}
说明:在访问Access数据库的时候也可把数据库访问信息放在配置文件中,在此处我是直接使用了。
SQL-Server数据库:
首先在命名空间中添加访问SQL-Server数据库的引用
using System.Data.SqlClient;
using System.Data.Sql;
**********************
public class common
{
public common()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public SqlConnection Connection;
public string getconnstring()
{
string constr;
constr = System.Configuration.ConfigurationManager.ConnectionStrings["EMISConnectionString"].ToString();
return constr;
}
public void DBopen()
{
//从Web.config中获取连接数据库字符串
string constr;
constr = getconnstring();
Connection = new SqlConnection(constr);
Connection.Open();
}
//关闭数据库的连接
public void DBclose()
{
Connection.Close();
}
public DataSet DataSets(string query)
{
DBopen();
SqlDataAdapter adapter = new SqlDataAdapter(query, Connection);
DataSet dtSet = new DataSet();
adapter.Fill(dtSet);
DBclose();
return dtSet;
}
public DataView Dataviews(string sql)
{
DataSet dataset = new DataSet();
dataset = DataSets(sql);
DataView dataview = new DataView(dataset.Tables[0]);
DBclose();
return dataview;
}
public SqlDataSource DataSource(string sql)
{
DBopen();
SqlDataSource datasource = new SqlDataSource(getconnstring(), sql);
DBclose();
return datasource;
}
public void sqlexecute(string sql)
{
DBopen();
SqlCommand command = new SqlCommand(sql, Connection);
try
{
command.ExecuteNonQuery();
}
catch (SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
DBclose();
}
}
public int sqlexecutereader(string sql)
{
DBopen();
SqlCommand myComm = new SqlCommand(sql, Connection);
int newID = Convert.ToInt32(myComm.ExecuteScalar());
DBclose();
return newID;
}
}
相关文章推荐
- JDBC 操作数据库(Access、Mysql、Mssqlserver、Oracle)
- SQL 数据的导入导出,对远程(MSsql,OracleAccess,)数据库的操作以及读取Excel,txt文件中的数据
- SQL语句select随机调取10行数据 Access/SQL Server/Mysql等数据库
- 数据库与表的操作之SQL Server 2012中的数据类型
- 数据库操作的封装类 Access\FoxPro\SQLServer\Oracle
- PageOffice+C#+SqlServer+Aspose.Word+Aspose.Cells实现上传word模板,通过标签保存填写的数据到数据库中
- SQL 操作外部数据(excel,access等)
- 怎么打开OPENDATASOURCE权限(不同服务器数据库之间的数据操作) -*-- 在T-SQL语句中访问远程数据库(openrowset/opendatasource/openquery) --- OpenDataSource的用法
- 操作 SQL Server Mobile 2005 数据库的常用 C# 代码
- 如何将数据导入到 SQL Server Compact Edition 数据库中(三)
- 如何将数据导入到 SQL Server Compact Edition 数据库中(四)
- 数据库-T-SQL 语句-创建表,删除表,CRUD操作的添加数据,修改数据,删除数据
- SQL不同服务器数据库之间的数据操作整理(完整版)
- SqlServer XML 类型数据操作
- 在sqlserver中如何对text类型的数据进行replace操作。 MS-SQL Server / 基础类 - CSDN社区 community.csdn.net
- ACCESS数据库管理软件如何操作SQL
- 如何将数据导入到 SQL Server Compact Edition 数据库中
- 数据库 Mocrosoft SQL Server 基本语句 建表 插入数据
- SQL不同服务器数据库之间的数据操作整理(完整版)
- SQL不同服务器数据库之间的数据操作整理(完整版)