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. spark 例子倒排索引

    spark 例子倒排索引 例子描述: [倒排索引(InvertedIndex)] 这个例子是在一本讲spark书中看到的,但是样例代码写的太java化,没有函数式编程风格,于是问了些高手,教我写了份函 ...

  2. day7 RHCE

    6.配置本地邮件服务 在系统server0和desktop0上配置邮件服务,满足以下要求:这些系统不接收外部发送来的邮件这些系统上本地发送的任何邮件都会自动路由到 classroom.example. ...

  3. 2762 helloparty·开车

    2762 helloparty·开车 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold   题目描述 Description hellokitty的一个朋友要来他家,但是 ...

  4. Redis实现之客户端

    客户端 Redis服务器是典型的一对多服务器程序:一个服务器可以与多个客户端建立网络连接,每个客户端可以向服务器发送命令请求,而服务器则接收并处理客户端发送的命令请求,并向客户端返回命令回复.通过使用 ...

  5. L015-linux系统文件权限体系手把手详解小结

    L015-linux系统文件权限体系手把手详解小结 2016-5-24 今天星期二,昨天和今天利用一些闲散时间把第15节课学完了,最近有点懒散哈,还得努力才是.. 这节课内容不多,扩展的也少,主要就是 ...

  6. 【MYSQL命令】查看日志是否开启及日志过期天数

    show variables like 'log_%';show variables like '%expire_logs_days%'

  7. 「Leetcode」14. Longest Common Prefix(Java)

    分析 与其说是算法题,不如说是语言特性题. 这题要是对Java的String相关函数掌握的比较熟练,写起来的速度(各种意义上)就会很快. 大致的思路都是一致的,差不到哪里去,无非是枚举长度.值得一提的 ...

  8. 书写可维护的javascript

    内容介绍 编写可维护的代码很重要,因为大部分开发人员都花费大量时间维护他人代码. 1.什么是可维护的代码? 一般来说可维护的代码都有以下一些特征: 可理解性---------其他人可以接手代码并理解它 ...

  9. Django——POST请求及Action触发事件

    添加网页login,将类型置为post,并添加action page,也就是之前写好的页面 添加page网页的views函数,要求获取post指令,如果username及password均正确则跳转到 ...

  10. redis 批量删除操作

    redis 批量删除操作 需要在redis里面清空一批数据,redis没有支持通配符删除, 只有del key1 key2 ... 但是可以通配符获取 KEYS PATTERN 然后利用linux管道 ...