以前写过的基于存储过程的SQLServer DBAccess,简单的贴一下
(Oracle 和 其他通用访问方式大同小异):
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Configuration;
namespace OnLineExamDBAccess
{
public class DBMSSQLServer:IDBHelp
{
private SqlConnection connection;
private SqlCommand command;
public DBMSSQLServer(string connStr)
{
this.connection = new SqlConnection(connStr);
}
#region IDBHelp 成员
public void Open()
{
if (this.connection != null && !this.connection.State.Equals(ConnectionState.Open))
this.connection.Open();
}
public void Close()
{
if (this.connection != null && !this.connection.State.Equals(ConnectionState.Closed))
this.connection.Close();
}
public void PublicClass(string procName, IDataParameter[] parameters)
{
command = new SqlCommand();
command.Connection = this.connection;
command.CommandType = CommandType.StoredProcedure;
command.CommandText = procName;
SqlParameter[] sqlParameters = (SqlParameter[])parameters;
if (this.command.Parameters.Count > 0)
{
this.command.Parameters.Clear();
}
if (sqlParameters != null && sqlParameters.Length > 0)
{
foreach (SqlParameter sqlParameter in sqlParameters)
{
this.command.Parameters.Add(sqlParameter);
}
}
}
public int ExecSql(string procName, IDataParameter[] parameters)
{
try
{
SqlParameter[] sqlparameters = (SqlParameter[])(parameters);
this.Open();
this.PublicClass(procName,parameters);
int i = command.ExecuteNonQuery();
this.Close();
return i;
}
catch (Exception exp)
{
throw(exp);
}
}
public DataSet ExecSqlReturnDataSet(string dsName, string procName, IDataParameter[] parameters)
{
try
{
SqlParameter[] sqlparameters = (SqlParameter[])(parameters);
this.Open();
this.PublicClass(procName,parameters);
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = this.command;
da.Fill(ds,dsName);
this.Close();
return ds;
}
catch (Exception exp)
{
throw (exp);
}
}
public int ExecSqlReturnScalar(string procName, IDataParameter[] parameters)
{
try
{
SqlParameter[] sqlparameters = (SqlParameter[])(parameters);
this.Open();
this.PublicClass(procName, parameters);
int i = Convert.ToInt32(this.command.ExecuteScalar());
this.Close();
return i;
}
catch (Exception exp)
{
throw (exp);
}
}
#endregion
}
}
基于SQL语句的访问方式(access数据库)
(二年级写的垃圾一点,呵呵):
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
/// <summary>
/// Dbase 的摘要说明
/// 对数据库的基本访问方法
/// 2009年3月第一次编写
/// 2009年5月3日修改connstr为非const型
/// </summary>
public class Dbase
{
/*
public const string connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ @"F:\工程\dsweb_base\dsweb"
+@"\App_Data\dsweb.mdb;";
*/
private string connStr;
protected OleDbConnection objconn;
protected OleDbCommand objcom;
public Dbase()
{
connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ (System.Web.HttpContext.Current.Request.PhysicalApplicationPath.ToString())
+ @"App_Data\dsweb.mdb;";
objconn = new OleDbConnection(connStr);
objcom = new OleDbCommand();
objcom.Connection = objconn;
}
/************************************************************************/
/*090504日增加 */
/************************************************************************/
public Dbase(string dbpath)
{
connStr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ (System.Web.HttpContext.Current.Request.PhysicalApplicationPath.ToString())
+ dbpath;
objconn = new OleDbConnection(connStr);
objcom = new OleDbCommand();
objcom.Connection = objconn;
}
/*
public SqlDataReader DataSelectMultiLine(string sql)
{
SqlDataReader QueryData;
try
{
objconn.Open();
objcom.CommandText = sql;
QueryData = objcom.ExecuteReader();
}
catch
{
return null;
}
return QueryData;
}
*/
public DataTable DataSelectMultiLine(string sql)
{
objconn.Open();
objcom.CommandText = sql;
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataSet dsDataSet = new DataSet();
adapter.SelectCommand = objcom;
adapter.Fill(dsDataSet, "table");
DataTable dtTable = dsDataSet.Tables["table"];
return dtTable;
}
public object DataSelectSingalLine(string sql)
{
object obj = new object();
try
{
objconn.Open();
objcom.CommandText = sql;
obj = objcom.ExecuteScalar();
}
catch
{
if (objconn.State == ConnectionState.Open)
objconn.Close();
return null;
}
if (objconn.State == ConnectionState.Open)
objconn.Close();
return obj;
}
public int DataNonSelect(string sql)
{
int a = 0;
try
{
objconn.Open();
objcom.CommandText = sql;
a = objcom.ExecuteNonQuery();
}
catch
{
if (objconn.State == ConnectionState.Open)
objconn.Close();
return -1;
}
if (objconn.State == ConnectionState.Open)
objconn.Close();
return a;
}
public bool Close()
{
try
{
if (objconn.State == ConnectionState.Open)
objconn.Close();
}
catch
{
return false;
}
return true;
}
}
分享到:
相关推荐
informix dbaccess详解,操作DB-ACCESS应用工具的小技巧
DBAccess 封装过后通常是只需要给方法传入一些参数如数据库连接字符串,SQL参数等,就可以访问数据库了,很方便。 DBAccess 类用于通过一组静态方法来封装数据访问功能。在 DBAccess 类中实现的每种方法都提供了一...
dbaccess 工具的使用.pdf dbaccess 工具的使用.pdf dbaccess 工具的使用.pdf
informix dbaccess users manual
informix dbaccess用户指南informix dbaccess用户指南informix dbaccess用户指南informix dbaccess用户指南informix dbaccess用户指南informix dbaccess用户指南
dbaccess.dll文件
Informix dbaccess用户指南
informix dbaccess用户指南
GBase8s dbaccess工具简要说明.doc
sqlite for unity3d DbAccess.cs类源码
常用的DBAccess,vs2010 .Net C#源码,可加入自己的项目中,非常好用,非常好用,
Informix dbaccess用户指南
管理SQL的好用工具,小巧实用。批量修改数据库文件。是SQL查询管理器功能的一个很大补充。是编程、数据管理人员的好工具
informix dbaccess使用方法 pdf版本
定时读取数据库打印到日志文件的DEMO,支持多种数据库。数据库驱动语句,SQL语句都写在配置文件里,方便在不同数据库中切换
Linux 下常用的数据库连接工具,Word文档,入门可以用