.net 数据库连接方法

本文提供了一个使用C#编写的SQL Helper类的实现代码,该类用于简化数据库操作,包括执行读取、非查询操作及标量查询等。通过配置文件加载连接字符串,实现了数据库连接的参数化。
C#:

XML:
<connectionStrings>
<add name="TangCompanyConn" connectionString="Data Source=localhost;Initial Catalog=TangCompany;User ID=sa;Password=yongshiok" providerName="System.Data.SqlClient"/>
</connectionStrings>

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.SqlClient;
//该源码首发自www.51aspx.com(51aspx.com)

/// <summary>
/// SqlHelper 的摘要说明
/// </summary>
public class SqlHelper
{
private static readonly string strConn = ConfigurationManager.ConnectionStrings["TangCompanyConn"].ConnectionString;
private static readonly string strName = ConfigurationManager.AppSettings["userName"].ToString();
private static readonly string strPass = ConfigurationManager.AppSettings["userPass"].ToString();
public SqlHelper()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public static SqlDataReader ExcuteRead(string nText, CommandType nType, SqlParameter[] paras) {

SqlConnection conn = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
try
{
PrepareCommand(conn, cmd, null, nType, nText, paras);
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
cmd.Parameters.Clear();
return dr;

}
catch(SqlException ex){

throw new Exception(ex.Message, ex);

}

}
public static int ExcuteNonQurey(string nText, CommandType nType, SqlParameter[] paras) {

SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(strConn)) {

PrepareCommand(conn, cmd, null, nType, nText, paras);
int rows = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return rows;

}

}
public static object ExcuteSclare(string nText, CommandType nType, SqlParameter[] paras) {

SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(strConn)) {

PrepareCommand(conn, cmd, null, nType, nText, paras);
object obj = cmd.ExecuteScalar();
cmd.Parameters.Clear();
return obj;
}

}
public static DataSet ExcuteReadApdater(string nText, CommandType nType, SqlParameter[] paras) {

SqlConnection con = new SqlConnection(strConn);
SqlCommand cmd = new SqlCommand();
DataSet ds = new DataSet();
try
{
PrepareCommand(con, cmd, null, nType, nText, paras);
SqlDataAdapter sqlAdapter = new SqlDataAdapter(cmd);
sqlAdapter.Fill(ds);
cmd.Parameters.Clear();
return ds;

}
catch (SqlException ex) {

throw new Exception(ex.Message, ex);

}
}
public static void PrepareCommand(SqlConnection con, SqlCommand cmd, SqlTransaction trans, CommandType nType, string nText, SqlParameter[] paras) {

if (con.State != ConnectionState.Open)
con.Open();
cmd.Connection = con;
cmd.CommandText = nText;
if (trans != null) {

cmd.Transaction = trans;
}
cmd.CommandType = nType;
if (paras != null) {

foreach (SqlParameter para in paras) {

cmd.Parameters.Add(para);
}

}
}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值