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. 工作和面试中的gdb

    gdb是C/C++程序员必备的专业技能,工作中gdb最常用的场景有两个,一个是分析core文件,另一个是调试程序. 分析core文件的方法如下: 1.gdb 程序名 core文件名 2.bt或wher ...

  2. 补交 20155202 蓝墨云班课 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能

    蓝墨云班课 编写MyCP.java 要求: 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: java MyCP -tx XXX1.txt XXX ...

  3. 《Java 程序设计》课堂实践三

    实践题目 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 提交测试代码和运行结果截图,加上学号水印,提交码云代码链接. 代码链接 代码链接 实践 ...

  4. 20155332 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉

    实验内容 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验知识点 JVM.JRE.JDK的安装位置与区别: 命令行运行javac:java:javac ...

  5. [BZOJ4712]洪水-[树链剖分+线段树]

    Description 小A走到一个山脚下,准备给自己造一个小屋.这时候,小A的朋友(op,又叫管理员)打开了创造模式,然后飞到山顶放了格水.于是小A面前出现了一个瀑布.作为平民的小A只好老实巴交地爬 ...

  6. GBDT为什么不能并行,XGBoost却可以

    传统的GBDT是以CART作为基分类器,xgboost还支持线性分类器,这个时候XGBOOST相当于带L1和L2正则化的逻辑斯蒂回归(分类问题)或者线性回归(回归问题).传统的GBDT在优化的hih只 ...

  7. [NOIp2018]铺设道路 贪心

    LG传送门 考场上写的\(O(nlogn)\)做法,具体思想是把深度从低到高排个序,开一个标记数组,每次加入的时候标记当前位置并判断:如果当前加入的位置两边都被标记过,则下次的贡献-1,若两边都没有被 ...

  8. 属性文件操作之Properties与ResourceBundle

    1.Properties与ResourceBundle 两个类都可以读取属性文件中以key/value形式存储的键值对,ResourceBundle读取属性文件时操作相对简单. 2.Propertie ...

  9. 在CentOS 7下编译安装Nginx+PHP+MySQL环境

    本文转载自:http://www.softeng.cn/?p=156,本文已获得作者授权,未经作者同意,不可转载. 1.前言 本文适合于已经对Linux操作系统具有基本操作经验,并且能够在Linux或 ...

  10. idea scala 报 with UTF-8 Please try specifying another one using the -encoding option

    现象如下图, 代码里有汉字,执行代码报错,说编码格式不对, 修改方式如上面,将右下角的编码格式修改成 u8即可.