ADO.NET 使用通用数据库操作类Database (SQL Server)
一、Web.config配置
<connectionStrings>
<add name="constr_name" connectionString="server=192.168.1.139;uid=sa;pwd=123456;Trusted_Connection=no;Database=dabasename" providerName="system.data.sqlclient"/>
</connectionStrings>
注:constr_name(自定义名),server(sqlserver服务器地址),uid(登录名),pwd(密码),Trusted_Connection(是否使用windows账户登录),Database(数据库名),providerName(数据库类型,sqlserver的为system.data.sqlclient)
二、引用
using Microsoft.Practices.EnterpriseLibrary.Data;
三、创建数据库实例
private Database _database;
this._database = DatabaseFactory.CreateDatabase();//在DAL类的构造函数中创建
例1、获取所有id大于10的用户
User user = null;
List<User> list = new List<User>();
//读取数据
string sql = "SELECT * FROM [User] WHERE id > @id;";
DbCommand command = _database.GetSqlStringCommand(sql);
_database.AddInParameter(command, "id", DbType.Int32, );//添加参数
DataTable dt = _database.ExecuteDataSet(command).Tables[];
//将数据写入对象
for (int i = ; i < dt.Rows.Count; i++)
{
user = new User();
if (dt.Rows[i]["id"] != DBNull.Value)
user.id = Convert.ToInt32(dt.Rows[i]["id"]);
if (dt.Rows[i]["name"] != DBNull.Value)
user.name = dt.Rows[i]["name"].ToString(); list.Add(user);
}
例2、 使用事务,插入用户数据
int result = ;
string sql = "INSERT INTO [User] VALUES(@Id,@Name);"; using (DbConnection conn = _database.CreateConnection())
{
conn.Open();
DbTransaction tran = conn.BeginTransaction();//开始事务
try
{
command = _database.GetSqlStringCommand(sql);
_database.AddInParameter(command, "Id", DbType.Int32, );
_database.AddInParameter(command, "Name", DbType.String, 'name1');
result += _database.ExecuteNonQuery(command, tran);//插入第一条数据 _database.AddInParameter(command, "Id", DbType.Int32, );
_database.AddInParameter(command, "Name", DbType.String, 'name2');
result += _database.ExecuteNonQuery(command, tran);//插入第二条数据 if (result == )
tran.Commit();//两条数据都插入成功则提交事务
else
{
tran.Rollback();//否则回滚事务,取消所有插入的数据
}
}
catch (System.Exception ex)
{
tran.Rollback();//出错,回滚事务
}
finally
{
if (conn != null)
conn.Close();
}
}
ADO.NET 使用通用数据库操作类Database (SQL Server)的更多相关文章
- 【ADO.NET】 使用通用数据库操作类Database (SQL Server)
一.Web.config配置 <connectionStrings> <add name="constr_name" connectionString=" ...
- 通用数据库操作类,前端easyui-datagrid,form
实现功能: 左端datagrid显示简略信息,右侧显示选中行详细信息,数据库增删改 (1)点击选中行,右侧显示详细信息,其中[新增].[修改].[删除]按钮可用,[保存]按钮禁用 (2)点击[ ...
- C#通用数据库操作类
- 一个通用数据库访问类(C#,SqlClient)
本文转自:http://www.7139.com/jsxy/cxsj/c/200607/114291.html使用ADO.NET时,每次数据库操作都要设置connection属性.建立connecti ...
- C#全能数据库操作类及调用示例
C#全能数据库操作类及调用示例 using System; using System.Data; using System.Data.Common; using System.Configuratio ...
- 数据库操作类《SqlHelper》
一.背景 在看了一本书叫<Visual Studio 2010(C#)Windows数据库项目开发>后,觉得很多编程技术需要积累,因为一个简单的项目里包含的技术太多了,容易忘记.每次需要用 ...
- 通用数据库帮助类DBHelper(含log日志信息实时记录)
项目需要,需要一个通用的数据库操作类,增删改查.事务.存储过程.日志记录都要有,于是在已有的帮助类上做了一些改进,并将log4j的.NET版--log4net嵌入其中记录sql的执行环境和状态. 用起 ...
- MySQL数据库操作类(PHP实现,支持连贯操作)
<?php /** * Author: suvan * CreateTime: 2018/2/27 * description: 数据库操作类(仅对接MySQL数据库,主要利用MySQLi函数) ...
- ado.net的简单数据库操作(一)
摘要:接下来的几篇博客将要讲到如何使用ado.net实现简单的数据库操作,包括增删改等内容.首先会介绍基础的数据库操作,然后以一个实例来进行讲解,这个实例会把一个数据表读取到winform上,然后在w ...
随机推荐
- 更改MyEclipse 之 jsp、js、java、xml文件字体大小设置
1.打开eclipse->window-->prefercess--->general--->appearance-->color and font ----> B ...
- 走进spring之springmvc实战篇(二)
本篇继篇一之后加入了jdbc并使用了注解 篇一进行了对spingmvc的基础配置http://www.cnblogs.com/liuyanhao/p/4798989.html 首先让我们先了解下注解的 ...
- IOS随机随学
1.Objective-C是一种面向对象的语言. 2.Objective-C类声明和实现包括两个部分:接口部分和实现部分. 3.Objective-C中方法不是在“.”运算符,而是采用“[]”运算符. ...
- Swift2.3 --> Swift3.0 的变化
Swift3.0语法变化 首先和大家分享一下学习新语法的技巧: 用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Synt ...
- wex5 实战 手指触屏插件 hammer的集成与优劣
前言 前几天,给客户做了一个图片点击放大,很简单,客户说能不能双手指缩放图片呢? 想到了hammer,不管好用不好用,总得试. 网上居然没有像样的中文文档和成熟案例,有的文写的鬼都看不懂.还是自已动手 ...
- kafka消费者客户端(0.9.0.1API)
转自:http://orchome.com/203 kafka客户端从kafka集群消费消息(记录).它会透明地处理kafka集群中服务器的故障.它获取集群内数据的分区,也和服务器进行交互,允许消费者 ...
- spring security 3.2 配置详解(结合数据库)
没事就来了解下spring security.网上找了很多资料.有过时的,也有不是很全面的.各种问题也算是让我碰了个遍.这样吧.我先把整个流程写下来,之后在各个易混点分析吧. 1.建立几个必要的页面. ...
- Linux 我的笔记
/home/wangteng/workspace zsh 缩短路径名
- STM32 MX Cube生成的工程中 使用printf向Uart发送数据
1. 在main函数前面添加: int fputc(int ch,FILE *f){ uint8_t temp[1]={ch}; HAL_UART_Transmit(&huart1,temp, ...
- 一些Unity基础操作的性能测试
从以前一个文章转移过来的内容,以后会进一步进行测试 内容 毫秒数(Editor) 毫秒数(Build PC) 加减内部变量 4ms 1ms new List<int>() 559m ...