ADO.NET DBHelper 类库
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
namespace ADO1
{
public class DBHelper
{
public static string Message = string.Empty;
static SqlConnection conn = null;
/// <summary>
/// 连接数据库
/// </summary>
private static void OpenConn()
{
conn = new SqlConnection("Data Source=.;Initial Catalog=MySchoolBase;Integrated Security=True");
conn.Open();
}
/// <summary>
/// 执行增删改操作
/// </summary>
/// <param name="sql">要执行的SQL语句</param>
/// <returns>返回成功所影响的行数</returns>
public static int ExecuteCommand(string sql)
{
int ok = 0;
try
{
OpenConn();
SqlCommand cmd = new SqlCommand(sql, conn);
ok = cmd.ExecuteNonQuery();
Close();
}
catch (Exception e)
{
ok = -1;
Message = e.Message;
}
return ok;
}
/// <summary>
/// 执行查询返回单行单列的数值形式
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static int ExecuteScalar(string sql)
{
int ok = 0;
try
{
OpenConn();
SqlCommand cmd = new SqlCommand(sql,conn);
ok = Convert.ToInt32(cmd.ExecuteScalar());
Close();
}
catch (Exception e)
{
ok = -1;
Message = e.Message;
}
return ok;
}
public static DataTable GetDataTable(string sql)//使用Adapter对象连接数据库表(不传表名)
{
DataTable dt = new DataTable();
try
{
OpenConn();
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
adapter.Fill(dt);
Close();
}
catch (Exception e)
{
Message = e.Message;
}
return dt;
}
public static DataTable GetDataTable(string sql, string tableName)//使用Adapter对象连接数据库表
{
DataTable dt = new DataTable(tableName);
try
{
OpenConn();
SqlDataAdapter adapter = new SqlDataAdapter(sql, conn);
adapter.Fill(dt);
Close();
}
catch (Exception e)
{
Message = e.Message;
}
return dt;
}
/// <summary>
/// 执行查询
/// </summary>
/// <param name="sql"></param>
/// <returns></returns>
public static SqlDataReader ExecuteReader(string sql)
{
SqlDataReader rs = null;
try
{
OpenConn();
SqlCommand cmd = new SqlCommand(sql,conn);
rs = cmd.ExecuteReader();
}
catch (Exception e)
{
Message = e.Message;
}
return rs;
}
/// <summary>
/// 关闭数据库连接
/// </summary>
public static void Close()
{
if (conn != null)
{
conn.Close();
}
}
}
}
ADO.NET DBHelper 类库的更多相关文章
- 同时使用ADO与Excel类库冲突的问题
客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...
- ADO.NET 【类库】【与数据库的连接】
ADO.NET是什么,有什么用 数据库访问技术 ado.net可让开发人员以一致的方式存取资料来源, 资料共用的消费者应用程序可使用ado.net 来连接至这些资料来源,并且撷取.处理及更新其中所含的 ...
- ADO.NET通用类库
using System.Data; using System.Data.SqlClient; namespace DataService { public class SQLHelper { pub ...
- ADO.NET DBHelper
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...
- C#/ASP.NET完善的DBHelper,配套Model生成器
支持Oracle.MSSQL.MySQL.SQLite四种数据库,支持事务,支持对象关系映射:已在多个项目中实际使用. 没有语法糖,学习成本几乎为0,拿来即用. DBHelper类完整代码: usin ...
- 30、ADO.NET、事务、DataSet
ADO.NET ADO.NET是一组用于和数据源进行交互的面向对象类库.通常数据源是数据库,但也可以是文本文件.Excel表格.XML文件. 说白了就是使用.net操作数据库的一套类库. ADO.NE ...
- 简述ADO.NET(一)
ADO.NET 宏观定义 传统ADO主要针对紧密连接的客户端/服务器端系统,而 ADO.NET考虑到了断开连接式应用并且引进了 Dateset 它代表任意数量的关联表,其中每个表都包含了行和列的集合的 ...
- ASP.NET快速学习方案(.NET菜鸟的成长之路)
想要快速学习ASP.NET网站开发的朋友可以按照下面这个学习安排进度走.可以让你快速入门asp.net网站开发!但也局限于一般的文章类网站!如果想学习更多的技术可以跟着我的博客更新走!我也是一名.NE ...
- “Zhuang.Data”轻型数据库访问框架(一)开篇介绍
目录: “Zhuang.Data”轻型数据库访问框架(一)开篇介绍 “Zhuang.Data”轻型数据库访问框架(二)框架的入口DbAccessor对象 框架介绍 该框架主要用于数据库访问,封装了包括 ...
随机推荐
- Java 访问控制规则简介
1. 概述 老生常谈的内容 巩固一下自己 要摇摇欲坠的基础 内容确实不怎么高级... 2. 常规解释 1. 概述 简单说下什么情况 在单纯考虑 public, protected, 以及 privat ...
- SQLite3日期与时间,常见函数
SQLite3日期与时间,常见函数 import sqlite3 #con = sqlite3.connect('example.db') con = sqlite3.connect(":m ...
- CF 1083 C. Max Mex
C. Max Mex https://codeforces.com/contest/1083/problem/C 题意: 一棵$n$个点的树,每个点上有一个数(每个点的上的数互不相同,而且构成一个0~ ...
- TMS320VC5509驱动LCD1602
1. 本次使用5509芯片的EMIF接口,先看下硬件的接口 LCD1602接口 RS(高电平1数据寄存器,低电平0指令寄存器) 接A2接口 LCD1602接口 RW(高电平读,低电平写) 接 AW ...
- postgresql parallel join example
CREATE TABLE public.pgbench_accounts_bak ( aid integer NOT NULL, bid integer, abalance integer, fill ...
- javaweb(三十一)——国际化(i18n)
一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...
- python全栈开发-面向对象-进阶
python_day_18 1,面向对象的三大特性是什么?继承,多态,封装2,什么是面向对象的新式类?什么是经典类?凡是继承object类都是新式类.凡是不继承object类都是经典类.3,面向对象为 ...
- Android 测试 之adb shell
一.发送键盘事件: 命令格式1:adb shell input keyevent "value" 其中value以及对应的key code如下表所列: KeyEvent Value ...
- NO--10今天带大家回忆回忆“闭包”吧!
对于‘闭包,我相信很多人都掉进过这个坑里,也相信很多人没能详细的理解这个问题,今天带大家再次走进闭包: 写这篇文章时的心情是十分忐忑的,因为对于我们今天的主角:闭包,很多小伙伴都写过关于它的文章,相信 ...
- Paper Reading - Convolutional Sequence to Sequence Learning ( CoRR 2017 ) ★
Link of the Paper: https://arxiv.org/abs/1705.03122 Motivation: Compared to recurrent layers, convol ...