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 类库的更多相关文章

  1. 同时使用ADO与Excel类库冲突的问题

    客户需要一个Demo程序实现Access数据库表导出到Excel表格,并将表中存储的照片(OLE对象)以其中一个字段(编号)命名存储到本地.程序中引入了ADO操作Access数据库("C:\ ...

  2. ADO.NET 【类库】【与数据库的连接】

    ADO.NET是什么,有什么用 数据库访问技术 ado.net可让开发人员以一致的方式存取资料来源, 资料共用的消费者应用程序可使用ado.net 来连接至这些资料来源,并且撷取.处理及更新其中所含的 ...

  3. ADO.NET通用类库

    using System.Data; using System.Data.SqlClient; namespace DataService { public class SQLHelper { pub ...

  4. ADO.NET DBHelper

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...

  5. C#/ASP.NET完善的DBHelper,配套Model生成器

    支持Oracle.MSSQL.MySQL.SQLite四种数据库,支持事务,支持对象关系映射:已在多个项目中实际使用. 没有语法糖,学习成本几乎为0,拿来即用. DBHelper类完整代码: usin ...

  6. 30、ADO.NET、事务、DataSet

    ADO.NET ADO.NET是一组用于和数据源进行交互的面向对象类库.通常数据源是数据库,但也可以是文本文件.Excel表格.XML文件. 说白了就是使用.net操作数据库的一套类库. ADO.NE ...

  7. 简述ADO.NET(一)

    ADO.NET 宏观定义 传统ADO主要针对紧密连接的客户端/服务器端系统,而 ADO.NET考虑到了断开连接式应用并且引进了 Dateset 它代表任意数量的关联表,其中每个表都包含了行和列的集合的 ...

  8. ASP.NET快速学习方案(.NET菜鸟的成长之路)

    想要快速学习ASP.NET网站开发的朋友可以按照下面这个学习安排进度走.可以让你快速入门asp.net网站开发!但也局限于一般的文章类网站!如果想学习更多的技术可以跟着我的博客更新走!我也是一名.NE ...

  9. “Zhuang.Data”轻型数据库访问框架(一)开篇介绍

    目录: “Zhuang.Data”轻型数据库访问框架(一)开篇介绍 “Zhuang.Data”轻型数据库访问框架(二)框架的入口DbAccessor对象 框架介绍 该框架主要用于数据库访问,封装了包括 ...

随机推荐

  1. 【翻译】理解 LSTM 网络

    目录 理解 LSTM 网络 递归神经网络 长期依赖性问题 LSTM 网络 LSTM 的核心想法 逐步解析 LSTM 的流程 长短期记忆的变种 结论 鸣谢 本文翻译自 Christopher Olah ...

  2. Verilog HDL 使用规范(一)

    本博文参考:<大规模逻辑设计指导书>,对于写出规范的代码,培养良好的代码风格颇有裨益. wire and register 一个reg变量只能在一个always语句中赋值: 这个说明至关重 ...

  3. Activemq首次运行报错 “找不到或无法加载主类”

    首次运行Program Files\apache-activemq-5.10.0\bin目录下的activemq.bat文件,报错信息如下: 找不到或无法加载主类 Files\apache-activ ...

  4. 20155223 2016-2017-2 《Java程序设计》第10周学习总结

    20155223 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 Java Socket编程 网络上的两个程序通过一个双向的通讯连接实现数据的交换,这个双向 ...

  5. 20155310 2016-2017-2 《Java程序设计》第2周学习总结

    20155310 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 •布尔:boolean类型可表示true和false. •浮点数:主要用来储存小数数值,细分 ...

  6. 20155331 2016-2017-2 《Java程序设计》

    20155331 2016-2017-2 <Java程序设计> 教材学习内容总结 理解封装,继承和多态. 封装最简单的理解就是包装,把编译的class文件封装起来,便于管理,还可以设置密码 ...

  7. centos7下python3与python2共存并且开启py3虚拟环境

    因为下载视频需要用到python3环境,今天在我的win上安装下载工具死活安装不上去,在大盘鸡上一下就安装成功了...可能在win上不兼容吧...无奈只能在大盘鸡上进行折腾了,顺便几个笔记 由于大盘鸡 ...

  8. 深入理解C++中的Const,Mutable以及Volatile

    我一直认为const表示一个常量,常量就是一个无法被修改的值,但是没有深入理解const的实现,甚至不知道mutable和volatile的存在,最近在书中看到了这一部分的知识,所以本文将详细解析这几 ...

  9. 如何下载YouTube 60fps视频

    YouTube上面不仅支持分辨率为4K和8K的视频,同时也开启了对60fps视频的支持.60帧的视频广泛用于游戏和体育视频中,使视频看起来更加流畅和细腻.对游戏玩家来说,YouTube对60fps支持 ...

  10. mysql数据库 root密码重置

    问题 忘记了MySQL的密码,网上搜索的杂七杂八,汇总一下. mysql版本是windows的mysql 5.7 步骤 1.以管理员身份打开cmd,切换到MySQL的bin目录 默认的话,一般是在C: ...