以下是个简单的DAO,以后会有复杂多样的,方便初学者学习或者简单的小程序。
这是 链接SQL SEVER,对于需要连接oracle数据库的,只需要把想对应的给给换
using System.Data.SqlClient;=>using System.Data.OracleClient;
SqlConnection=>OracleConnection
SqlCommand=>OracleCommand
System.Data.SqlClient.SqlException=>System.Data.OracleClient.OracleException
SqlTransaction=>OracleTransaction
……
以此类推
using System;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
namespace DAO
{
class DbHelperSqlSev
{
//数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库.
public string connectionString = Connection.TESR_DB_sqlConntionString;
public DbHelperSqlSev()
{
}
public DbHelperSqlSev(string connectionString)
{
this.connectionString = connectionString;
}
#region 执行简单SQL语句
/// <summary>
/// 执行SQL语句,返回影响的记录数。增、删、改数据
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <returns>影响的记录数</returns>
public int ExecuteSql(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
using (SqlCommand cmd = new SqlCommand(SQLString, connection))
{
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException e)
{
throw e;
}
finally
{
if (connection.State != ConnectionState.Closed)
{
connection.Close();
connection.Dispose();
}
}
}
}
}
/// <summary>
/// 执行查询语句,返回DataSet
/// </summary>
/// <param name="SQLString">查询语句</param>
/// <returns>DataSet</returns>
public DataSet Query(string SQLString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
DataSet ds = new DataSet();
try
{
connection.Open();
SqlDataAdapter command = new SqlDataAdapter(SQLString, connection);
command.Fill(ds, "ds");
}
catch (System.Data.SqlClient.SqlException ex)
{
throw ex;
}
finally
{
if (connection.State != ConnectionState.Closed)
{
connection.Close();
connection.Dispose();
}
}
return ds;
}
}
/// <summary>
/// 执行带一个存储过程参数的的SQL语句。
/// </summary>
/// <param name="SQLString">SQL语句</param>
/// <param name="content">参数内容,比如一个字段是格式复杂的文章,有特殊符号,可以通过这个方式添加</param>
/// <returns>影响的记录数</returns>
public int ExecuteSql(string SQLString, string content)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand cmd = new SqlCommand(SQLString, connection);
System.Data.SqlClient.SqlParameter myParameter = new System.Data.SqlClient.SqlParameter("@content", SqlDbType.NVarChar);
myParameter.Value = content;
cmd.Parameters.Add(myParameter);
try
{
connection.Open();
int rows = cmd.ExecuteNonQuery();
return rows;
}
catch (System.Data.SqlClient.SqlException E)
{
throw E;
}
finally
{
if (connection.State != ConnectionState.Closed)
{
connection.Close();
connection.Dispose();
}
}
}
}
#endregion
}
}
连接数据库的类:
using System.Configuration;
namespace DAO
{//连接数据库类
public class Connection
{
private static string _TESR_DB_sqlConntionString = null;
public static string TESR_DB_sqlConntionString {
get
{
if (string.IsNullOrEmpty(_TESR_DB_sqlConntionString))
{
GetTESR_DB_sqlConntionString();
}
return _TESR_DB_sqlConntionString;
}
}
private static void GetTESR_DB_sqlConntionString()
{
_TESR_DB_sqlConntionString = ConfigurationManager.ConnectionStrings["TESR_DB"].ConnectionString;
// _TESR_DB_sqlConntionString = "user id=sa;Data Source=127.1.1.1;password=12345678;Persist Security Info=True;";
}
}
}
public DataSet GetDate()
{
const string sql = @"select * from [table]";
try
{
var ds = new DbHelperSqlSev().Query(sql);
return ds;
}
catch (Exception ex)
{
throw ex;
}
}