基于ajax的三层,实现数据库的增删改查(二 sqlHelper的代码实现)
来源:互联网 发布:办公软件怎么求和 编辑:程序博客网 时间:2024/05/18 16:17
可以直接调用,传参数即可 ,要说的就是第一行代码,需要在WEBCONFIG里加入一行代码,这行代码为数据库连接字符串,再使用第一行代码就可以读到这个了。
<connectionStrings><add name="SQLStudentConnString" connectionString="Data Source=192.168.1.4;Initial Catalog=OA;User ID=sa;Password=sa;MultipleActiveResultSets=True" providerName="System.Data.SqlClient"/></connectionStrings>
private static readonly string conStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
CommandType可以看下面的文档了解
CommandType 属性
指示 Command 对象的类型。
设置和返回值
设置或返回以下某个 CommandTypeEnum 值。
常量说明AdCmdText将 CommandText 作为命令或存储过程调用的文本化定义进行计算。AdCmdTable将 CommandText 作为其列全部由内部生成的 SQL 查询返回的表格的名称进行计算。AdCmdTableDirect将 CommandText 作为其列全部返回的表格的名称进行计算。AdCmdStoredProc将 CommandText 作为存储过程名进行计算。AdCmdUnknown默认值。CommandText 属性中的命令类型未知。adCmdFile将 CommandText 作为持久 Recordset 文件名进行计算。AdExecuteNoRecords指示 CommandText 为不返回行的命令或存储过程(例如,插入数据的命令)。如果检索任意行,则将丢弃这些行且并不返回。它总是与adCmdText 或 adCmdStoredProc 进行组合。params参数可以选填多个或不填。为传入的参数
//执行增删改的
public static int ExecuteNonQuery(string sql, CommandType cmdType, params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(conStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
cmd.CommandType = cmdType;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteNonQuery();
}
}
}
//封装一个执行返回单个值的方法
public static object ExecuteScalar(string sql, CommandType cmdType, params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(conStr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
cmd.CommandType = cmdType;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteScalar();
}
}
}
//返回SqlDataReader对象的方法
public static SqlDataReader ExecuteReader(string sql, CommandType cmdType, params SqlParameter[] pms)
{
SqlConnection con = new SqlConnection(conStr);
using (SqlCommand cmd = new SqlCommand(sql, con))
{
cmd.CommandType = cmdType;
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
try
{
con.Open();
return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception)
{
con.Close();
con.Dispose();
throw;
}
}
}
//封装一个返回DataTable的方法
public static DataTable ExecuteDataTable(string sql, CommandType cmdType, params SqlParameter[] pms)
{
DataTable dt = new DataTable();
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, conStr))
{
adapter.SelectCommand.CommandType = cmdType;
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
}
adapter.Fill(dt);
}
return dt;
}
//封装一个带事务的执行Sql语句的方法
public static void ExecuteNonQueryTran(List<SqlAndParameter> list)
{
using (SqlConnection con = new SqlConnection(conStr))
{
using (SqlCommand cmd = con.CreateCommand())
{
con.Open();
using (SqlTransaction trans = con.BeginTransaction())
{
cmd.Transaction = trans;
try
{
foreach (var SqlObject in list)
{
cmd.CommandText = SqlObject.Sql;
if (SqlObject.Parameters != null)
{
cmd.Parameters.AddRange(SqlObject.Parameters);
}
cmd.CommandType = SqlObject.CmdType;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
trans.Commit();
}
catch (Exception)
{
trans.Rollback();
throw;
}
}
}
}
}
}
public class SqlAndParameter
{
public string Sql
{
get;
set;
}
public SqlParameter[] Parameters
{
get;
set;
}
public CommandType CmdType
{
get;
set;
}
}can's
阅读全文
1 0
- 基于ajax的三层,实现数据库的增删改查(二 sqlHelper的代码实现)
- 基于ajax的三层,实现数据库的增删改查(三 BLL层编写)
- 基于ajax的三层,实现数据库增删改查基础(一DAL)
- 基于ajax的三层,实现数据库增删改查基础(三 UI层)
- 基于ajax的三层,实现数据库增删改查基础(四 UI层)
- 基于ajax的三层,实现数据库增删改查基础(五 前端界面其他功能的实现)
- SqlHelper类实现增删改查的封装
- sqlHelper的增删改查
- 基于JSP的数据库增删改查实现
- VS2013实现数据库的增删改查
- JDBC 实现 数据库的增删改查
- JDBC实现数据库的增删改查
- 存储过程实现基本的增删查改(二)
- 存储过程实现基本的增删查改(二)
- 实现数据库的增删改查(ADO.Net)
- MyBeatis实现数据库的增删改查(CRUD)
- 利用系统api实现数据库的增删改查 →数据库的增删改查
- mysql数据库的连接以及增删改查Java代码实现(Statement版)
- 利用ffmpeg的amix filter混音
- Mac python版本混乱的问题
- maven3实战之仓库(远程仓库的配置)
- Silver Cow Party (邻接表)
- grep
- 基于ajax的三层,实现数据库的增删改查(二 sqlHelper的代码实现)
- JDK JRE JMV 之间的关系
- maven项目打War包
- Git——安装,创建代码库
- java基础面试题汇总2(十题一章)
- 算术运算与赋值运算
- Dev c++工具将C代码生成dll文件以及如何调用dll文件
- 视频拼接3d合成
- 树莓派点亮一个流水灯