Ado.net中简单的DBHelper类(增删改查)
private static string connString = "server=.;database=hotel;uid=aa;pwd=123";//最好从配置文件中取出
public static SqlConnection conn = new SqlConnection(connString);
在配置文件中进行配置并取出
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configuration>
<connectionStrings>
<add name="Test"
connectionString="Data Source=.;Initial Catalog=HospitalInstrument;User ID=sa;Password=123"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
添加引用System.Configuration
使用该命名空间下的ConfigrationManager类
string constr=ConfigurationManager.ConnectionStrings["Test"].ConnectionString;
//公用的增删改方法
public static bool ZhengShanGai(string sql)
{
bool flag = false;
SqlCommand com = null;
try
{
if (sql == null || sql == "")
{
return false;
}
if (conn.State != ConnectionState.Open)
conn.Open();
com = new SqlCommand(sql, conn);
if (com.ExecuteNonQuery() > 0)
flag = true;
}
catch (Exception ex)
{
throw ex;
}
finally
{
com.Dispose();
conn.Close();
}
return flag;
}
//公用的查询方法 ,返回值为SqlDateReader
public static SqlDataReader Query(string sql)
{
SqlCommand com = null;
SqlDataReader reader = null;
try
{
if (sql == null || sql == "")
{
return null;
}
if (conn.State != ConnectionState.Open)
conn.Open();
com = new SqlCommand(sql, conn);
//当关闭reader后连接自动关闭
reader = com.ExecuteReader(CommandBehavior.CloseConnection);
}
catch (Exception ex)
{
return null;
throw ex;
}
return reader;
}
//公用的查询方法 ,返回值为DataTable;
public static DataTable QueryInfo(string sql)
{
DataTable dt = new DataTable();
SqlDataAdapter da = null;
try
{
DBHelper.conn.Open();
da = new SqlDataAdapter(sql, DBHelper.conn);
da.Fill(dt);
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
DBHelper.conn.Close();
}
return dt;
}
// 执行带参数存储过程的方法
public bool ExcuteProc(string procName, SqlParameter[] procParams)
{
bool flag = false;
SqlCommand com = null;
try
{
if (procName == null || procName == "") return false;
if (conn.State != ConnectionState.Open) conn.Open();
com = new SqlCommand(procName, conn);
com.CommandType = CommandType.StoredProcedure;
if (procParams != null)
{
foreach (SqlParameter procParam in procParams)
{
com.Parameters.Add(procParam);
}
}
if (com.ExecuteNonQuery() > 0) flag = true;
}
catch (Exception)
{
return false;
}
finally
{
com.Dispose();
conn.Close();
}
return flag;
}
}
以上是很简单的ado.net基础帮助类,如有什么疑问,或是认为我写的有错,我愿意和大家交流
Ado.net中简单的DBHelper类(增删改查)的更多相关文章
- 在MFC里面使用ADO访问微软的ACCESS数据库 实现增删改查
声明:百度以外的公司可以自由转载该文. 正如我上一篇博文提到,ADO这货和MFC没有任何关系,ADO 是一个独立的组件.所以为了使用ADO 我们就要把ADO引入到MFC中. ADO是硬盘上的表现形式是 ...
- Mybatis实现简单的CRUD(增删改查)原理及实例分析
Mybatis实现简单的CRUD(增删改查) 用到的数据库: CREATE DATABASE `mybatis`; USE `mybatis`; DROP TABLE IF EXISTS `user` ...
- Yii 1.1.17 四、属性标签、AR类增删改查、使用上传类与扩展第三方类库
一.属性标签与规则设置 当进入网站页面,将会读数据库返回信息到视图上.那么,现在定义模型中的属性在视图标签上的显示, 也就是模型属性到前台标签的映射 // 定义模型属性到前台标签的映射 public ...
- kibana的Dev Tool中如何对es进行增删改查
kinaba Dev Tool中对es(elasticSearch)进行增删改查 一.查询操作 查询语句基本语法 以下语句类似于mysql的: select * from xxx.yyy.topic ...
- EF(Entity Framework)通用DBHelper通用类,增删改查以及列表
其中 通用类名:DBhelper 实体类:UserInfo 1 //新增 2 DBHelper<UserInfo> dbhelper = new DBHelper<UserInfo& ...
- Django中对单表的增删改查
之前的简单预习,重点在后面 方式一: # create方法的返回值book_obj就是插入book表中的python葵花宝典这本书籍纪录对象 book_obj=Book.objects.creat ...
- 潭州课堂25班:Ph201805201 django框架 第六课 模型类增删改查,常用 的查询矣查询条件 (课堂笔记)
在视图函数中写入增删改查的方法 增: 在 urls 中配置路径 : 查: 1: 在后台打印数据 在模型类中添加格式化输出 : QuerySet,反回的是个对象,可以按索引聚会,用 for 循环,, 找 ...
- Django学习笔记--数据库中的单表操作----增删改查
1.Django数据库中的增删改查 1.添加表和字段 # 创建的表的名字为app的名称拼接类名 class User(models.Model): # id字段 自增 是主键 id = models. ...
- Django中ORM对数据库的增删改查操作
前言 什么是ORM? ORM(对象关系映射)指用面向对象的方法处理数据库中的创建表以及数据的增删改查等操作. 简而言之,就是将数据库的一张表当作一个类,数据库中的每一条记录当作一个对象.在 ...
随机推荐
- List 泛型 集合中 Find 的用法
以前在开发中为了对List,String[].Array进行元素的查找一般都是这样做:List lists = new List();list.add("111");.....fo ...
- 在线api地址
J2SE1.7英文api地址: http://download.oracle.com/javase/7/docs/api/J2SE1.6英文api地址: http://download.oracle ...
- c#自制视屏监控
项目需要开发一个监控程序,主要是监控其它电脑的操作情况. 先说下原理吧,首先我们列出做远程监控的基本步骤,远端电脑的ip,捕捉屏幕的方法,传输,接收并显示. 突然不知道怎么写下去了....... 程序 ...
- javascript篇-----函数apply()和call()
转自:http://www.jb51.net/article/28013.htm 如果没接触过动态语言,以编译型语言的思维方式去理解javaScript将会有种神奇而怪异的感觉,因为意识上往往不可能的 ...
- 史航416第八次作业&总结
一.知识点总结: 1.数组的输入,输出及对整个数组所有元素进行操作通常都用循环结构实现. 2.可以只给部分元素赋初值.当{ }中值的个数少于元素个数时,只给前面部分元素赋值. 3.只能给元素逐个赋值, ...
- python动态获取对象的属性和方法 (转载)
首先通过一个例子来看一下本文中可能用到的对象和相关概念. #coding:utf-8 import sys def foo():pass class Cat(object): def __init__ ...
- <![CDATA[ ]]> 的作用
在xml文件中 一些特殊字符需要去除其本意,就要用到 <![CDATA[ ]]>,,比如 ibitis的sqlmap.xml 中 要比较大小不能直接用 < 或者 > , ...
- 通过反射绑定事件_Office Visio
花了好几个小时才Try出来,记录一下: //反射获取Visio.Application,此处没有判断是否有安装Visio mVisioType = System.Type.Get ...
- 【学习笔记】Y2-1-1 Oracle数据库基础
Oracle 简介关系型(二维表)数据库 用来存储海量数据在大数据量的并发检索的情况下,性能要高于其他同类数据库产品一般运行环境是Linux和UnixOracle版本中的I(Internet) G(G ...
- 让div固定在顶部不随滚动条滚动
让div固定在顶部不随滚动条滚动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...