.net中DBHelper(SqlServer版)

应用程序大多数都是需要与数据库交互做为支撑的,那么相对数据库的访问方式就相当重要了,最基础的是通过Ado的方式了;还有就是一些相对的ORM框架,如EF,Nhibernate等,后续加入; 相应的命名空间自己对应导入就可以

提供一个web.config中的连接串或app.config

<connectionStrings>
<!--Oracle 连接串-->
<add name="oracleconn" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=ORCL)));User ID=scott;Password=tiger;Unicode=True" providerName="System.Data.OracleClient"/>
<!--sqlserver 连接串-->
<add name="ConstrSQL" connectionString="server=.\MSSQLSERVER1;database=数据库名;uid=sa;pwd=*****;Integrated Security=False;Persist Security Info=False;" providerName="System.Data.Sqlclient"/>
</connectionStrings>

配置连接串要放到<configSections>后边,至于那里你自己定

#region 其它几种连接方式
//static string conner = @"Data Source=.\MSSQLSERVER1;Initial Catalog=数据库名字;Persist Security Info=True;User ID=sa;pwd=***";
//static string conner = ConfigurationSettings.AppSettings["ConstrSQL"].ToString(); //ConfigurationSettings配置节点读取
#endregion
static string conner = ConfigurationManager.ConnectionStrings["ConstrSQL"].ConnectionString; //ConnectionStrings配置文件读取
private static SqlConnection con = new SqlConnection(conner);

#region 旧的
/// <summary>
/// 执行增删改操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int ExexuteCommand(string sql)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}

/// <summary>
/// 执行增删改操作
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int ExexuteCommand(string sql, params SqlParameter[] para)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
//将参数添加到参数集合中
cmd.Parameters.AddRange(para);
return cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}

/// <summary>
/// 返回dataReader的查询方法
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static SqlDataReader GetReader(string sql)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
catch (Exception ex)
{
throw ex;
}
}

/// <summary>
/// 返回dataReader的查询方法
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static SqlDataReader GetReader(string sql, params SqlParameter[] para)
{
try
{
//if (con.State == ConnectionState.Closed)
//{
con.Open();
//}
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.AddRange(para);
SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
catch (Exception ex)
{
throw ex;
}
}

/// <summary>
/// 返回dataTable的查询方法
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable GetDateTable(string sql)
{
try
{
con.Open();
SqlDataAdapter myAdapter = new SqlDataAdapter(sql, con);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}

/// <summary>
/// 返回dataTable的查询方法
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static DataTable GetDateTable(string sql, params SqlParameter[] para)
{
try
{
con.Open();
//SqlDataAdapter myAdapter = new SqlDataAdapter(sql, con);
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.AddRange(para);
SqlDataAdapter myAdapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}

/// <summary>
/// 返回单值的查询方法
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static object GetScalar(string sql)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
return cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}

/// <summary>
/// 返回单值的查询方法(有参数的查询语句)
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static object GetScalar(string sql, params SqlParameter[] para)
{
try
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
cmd.Parameters.AddRange(para);
return cmd.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}

#region 存储过程调用方法
/// <summary>
/// 调用执行增删改的有参数的存储过程
/// </summary>
/// <param name="name"></param>
/// <param name="values"></param>
/// <returns></returns>
public static int ExectueCommandStoredProcedure(string name, params SqlParameter[] values)
{
//SqlConnection conn = new SqlConnection(connection);

try
{
//connection.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = con;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = name;
comm.Parameters.AddRange(values);
return comm.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}
/// <summary>
/// 调用无参的存储过程的方法
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static int ExectueCommandStoredProcedure(string name)
{

try
{
//connection.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = con;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = name;
//comm.Parameters.AddRange(values);
return comm.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}
/// <summary>
/// 返回DataTable型的存储过程的调用方法
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static DataTable GetTableByStoredProcedure(string name)
{

//SqlConnection conn = new SqlConnection(connection.ConnectionString);
try
{
if (con.State == ConnectionState.Closed)
{
con.Open();
}
DataSet ds = new DataSet();
SqlCommand comm = new SqlCommand();
comm.Connection = con;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = name;
SqlDataAdapter da = new SqlDataAdapter(comm);
ds.Clear();
da.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}
/// <summary>
/// 返回DataTable型的存储过程的调用方法(含参)
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static DataTable GetTableByStoredProcedure(string name, params SqlParameter[] valuse)
{
//SqlConnection conn = new SqlConnection(connection.ConnectionString);
try
{
if (con.State == ConnectionState.Closed)
{
con.Open();

}
//conn.Open();
DataSet ds = new DataSet();
SqlCommand comm = new SqlCommand();
comm.Connection = con;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = name;
comm.Parameters.AddRange(valuse);
SqlDataAdapter da = new SqlDataAdapter(comm);
da.Fill(ds);
return ds.Tables[0];
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}
/// <summary>
/// 返回reader型的无参的调用存储过程的方法
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static SqlDataReader GetReaderByStoredProcedure(string name)
{
try
{

SqlCommand comm = new SqlCommand();
comm.Connection = con;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = name;

SqlDataReader reader = comm.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 返回reader型的(含参)的调用存储过程的方法
/// </summary>
/// <param name="name"></param>
/// <param name="values"></param>
/// <returns></returns>
public static SqlDataReader GetReaderByStoredProcedure(string name, params SqlParameter[] values)
{
try
{
con.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = con;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = name;
comm.Parameters.AddRange(values);

SqlDataReader reader = comm.ExecuteReader(CommandBehavior.CloseConnection);
return reader;
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 返回单值类型(无参)
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static Object GetScalarByStoredProcedure(string name)
{
try
{
con.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = con;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = name;

return comm.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}
/// <summary>
/// 返回单值类型(含参)
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static Object GetScalarByStoredProcedure(string name, params SqlParameter[] values)
{
try
{
con.Open();
SqlCommand comm = new SqlCommand();
comm.Connection = con;
comm.CommandType = CommandType.StoredProcedure;
comm.CommandText = name;
comm.Parameters.AddRange(values);

return comm.ExecuteScalar();
}
catch (Exception ex)
{
throw ex;
}
finally
{
con.Close();
}
}
#endregion
#endregion

时间: 2024-08-27 19:40:34

.net中DBHelper(SqlServer版)的相关文章

.net中DBHelper(Oracle版)

上篇说的是操作的sqlServer版,因为现在公司需要用的是Oracle数据,之前没弄过,通过网上查加自己的一些实际验证贴上来,主要是方便自己查看使用,同时也希望帮到有需要的朋友: 以下是配置文件的连接串,前提是确定你的oracle配置好 <connectionStrings> <!--Oracle 连接串--> <add name="oracleconn" connectionString="Data Source=(DESCRIPTION=(

hibernate4中oracle,sqlserver,mysql数据库的sql方言配置(SQL Dialects)

hibernate4中oracle,mysql,sqlserver数据库的sql方言配置(SQL Dialects) 数据库类型 Hibernate sql方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect.DB2400Dialect DB2 OS390 org.hibernate.dialect.DB2390Dialect PostgreSQL 8.1 org.hibernate.dialect.Po

js中访问SqlServer数据库

1 <script language="JavaScript"> 2 // 创建数据库对象 3 var objdbConn = new ActiveXObject("ADODB.Connection"); 4 // DSN字符串 5 var strdsn = "Driver={SQL Server};SERVER=127.0.0.1;UID=sa;PWD=sa;DATABASE=coa"; 6 // 打开数据源 7 objdbConn

在 eclipse中 创建 web 版的 maven 工程以及 进一步了解 pom.xml 中 scope 的相关配置设置问题

1.在 eclipse中 创建 web 版的 maven 工程: a.和 创建 java 版的 maven 工程一样,先选中一个简单的工程(跳过经典模式),后填写坐标(不了解的看先前的博文),在打包方式中选择 war 包,后点击 finish. b.可以看到,在新建 的 javaproject03 的 项目中,只有 webapp目录,而实际的内容并没有.这里我们在每次新建时都要做设置.设置如下: 注:鼠标停在所建的项目上,点击右键进入 properties --> Project Facets

谷歌退出中国声明全文(中英对照版)A new approach to China

次针对Google的攻击无关,我们发现有第三方在定期的访问美国,中国,欧洲的许多人*权*支持者的Gmail帐户.对这些帐户的访问并不是通过Google认可的方式,大多是通过钓鱼欺诈手段,以及位于用户电脑中的恶意软件进行. We have already used information gained from this attack to make infrastructure and architectural improvements that enhance security for Go

DeepFaceLab中英双语版,熟肉来了!

我一向都很喜欢看好莱坞大片,但是由于听力水平有限,所以必须等“熟肉”,最喜欢的字幕当然是中英双语版咯.同理,不少人想要使用换脸软件,但是苦于英语不好,迟迟没有上手.好吧,那我就出个双语版吧! ? 根目录下的脚本文件全部翻译成中文了,同时在保留了英文版,方便对照. ? 除了脚本之外命令行也做了汉化,重点翻译了训练参数和合成参数,保留原内容的基础上加入了中文内容.有些参数因为本身专业性比较强,即便翻译了不太好理解,所以基于使用经验,描述上做了一些小的修改.因为时间,精力,能力有限,未必完美,但是总比

184、HTML中,PDF版报告的展示和下载

HTML中,PDF版报告的展示和下载 相关搜索:脚本编辑器:$scope.r_g_company.reportPage:文件上传中... 1.展示,在HTML中,划定一个区域,用做PDF版报告的展示 (1)封面内容:一个单独的HTML,内有动态数据插入 (2)展示内容:另一个单独的HTML,内有动态数据插入 (3)前端将配置的动态数据和起止时间参数传给后台(步骤一),后台将接收到的数据和自己过滤出来的数据插入到(1)和(2)里,然后将它俩拼成一个PDF文件返给前端.供前端下载,同时还将这个PDF

maven项目中连接sqlserver和mysql的区别

maven项目中,sql和mysql连接所需加载的包与jdbc.properties中的写法是不一样的 对于mysql: jdbc.properties的写法: jdbc.driverClassName=com.mysql.jdbc.Driver -- mysql驱动 jdbc.url=jdbc\:mysql\://localhost\:3306/workloads?useUnicode=true&characterEncoding=utf-8 -- 具体数据库信息,并设置编码 jdbc.use

C#中往SQLServer插入数据时遇到BUG

错误信息如下: “System.Data.SqlClient.SqlException”类型的未经处理的异常在 System.Data.dll 中发生 其他信息: “”附近有语法错误. 文字版代码如下: 1 sqlCmd.CommandText =string.Format( "insert into [dbo].[Table4Test]([ID],[Name],[Password])values({0},'{1}','{2}')", dataOfItem[0],dataOfItem[