using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data; namespace _02使用md5登录
{
public static class SqlHelper
{
private static readonly string constr = ConfigurationManager.ConnectionStrings["sql"].ConnectionString; #region 01执行增删改
//执行增删改
public static int ExecuteNonQuery(string sql, params SqlParameter[] pms)
{
int res = -1;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
res = cmd.ExecuteNonQuery();
}
return res;
}
}
#endregion #region 02返回单个值的方法
//返回单个值的方法
public static object ExecuteScalar(string sql, params SqlParameter[] pms)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open();
return cmd.ExecuteScalar();
}
}
} #endregion
#region 03封装返回DataReader的方法
//封装返回DataReader的方法
public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] pms)
{
SqlConnection con = new SqlConnection(constr);
using (SqlCommand cmd = new SqlCommand(sql, con))
{
if (pms != null)
{
cmd.Parameters.AddRange(pms);
}
con.Open(); return cmd.ExecuteReader(CommandBehavior.CloseConnection);
}
}
#endregion #region 04封装一个执行DataTable的方法
//封装一个执行DataTable的方法
public static DataTable ExecuteDataTable(string sql, params SqlParameter[] pms)
{
DataTable dt = new DataTable();
using (SqlDataAdapter adapter = new SqlDataAdapter(sql, constr))
{
if (pms != null)
{
adapter.SelectCommand.Parameters.AddRange(pms);
}
adapter.Fill(dt);
}
return dt;
}
#endregion
#region 05执行分页的方法
public static DataTable GetPageTable(int pageIndex, int pageSize, out int rowCount, out int pageCount, bool isDel)
{
DataTable dt = new DataTable();
rowCount = 0;
pageCount = 0;
using (SqlConnection conn = new SqlConnection(constr))
{
SqlDataAdapter dat = new SqlDataAdapter("up_GetPagedData2", conn);
SqlParameter[] paras ={
new SqlParameter("@pageIndex",pageIndex),
new SqlParameter("@pageSize",pageSize),
new SqlParameter("@rowCount",rowCount),
new SqlParameter("@pageCount",pageCount),
new SqlParameter("@isDel",isDel)
};
//将两个输出参数的输出方向指定
paras[2].Direction = ParameterDirection.Output;
paras[3].Direction = ParameterDirection.Output;
//将参数集合加入到岔村命令对象中
dat.SelectCommand.Parameters.AddRange(paras);
//设置查询命令类型为存储过程
dat.SelectCommand.CommandType = CommandType.StoredProcedure;
//执行存储过程
dat.Fill(dt);
//执行完后,将存储过程中获得的两个输出参数值赋给此方法的两个输出参数
rowCount = Convert.ToInt32(paras[2].Value);
pageCount = Convert.ToInt32(paras[3].Value); }
return dt;
}
#endregion
}
}

sql helper的更多相关文章

  1. 微软原版SQL Helper

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...

  2. Java sql helper[转]

    原文:http://www.cnblogs.com/beijiguangyong/archive/2011/12/10/2302737.html package sql; import java.sq ...

  3. C# sql Helper

    using System; using System.Collections; using System.Collections.Generic; using System.Configuration ...

  4. [Android 开发教程(1)]-- Saving Data in SQL Databases

    Saving data to a database is ideal for repeating or structured data, such as contact information. Th ...

  5. Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)

    知识点: 1.使用SQL Helper创建数据库 2.数据的增删查改(PRDU:Put.Read.Delete.Update) 背景知识: 上篇文章学习了保存文件,今天学习的是保存数据到SQL数据库中 ...

  6. 数据库Error:The ScriptCollection in ScriptName not find

    System.InvalidOperationException: The ScriptCollection in ScriptName not find 在 WMI.SQL.HELPER.CONFI ...

  7. java攻城狮之路(Android篇)--ListView与ContentProvider

    一.ListView 1.三种Adapter构建ListView ListView添加条目的时候, 可以使用setAdapter(ListAdapter)方法, 常用的ListAdapter有三种 B ...

  8. java攻城狮之路(Android篇)--SQLite

    一.Junit    1.怎么使用        在AndroidManifest.xml文件中进行配置, 在manifest借点下配置instrumentation, 在application借点下 ...

  9. Oracle 数据库中不同事务并发访问的问题

    现象 以SQL/Helper为例,打开不同的SQL窗口,对同一个表格进行操作,如下所示. 窗口1:当执行更新任务.紧接着执行查询时获得一组查询结果.结果是对的. 窗口2:而在另外一个SQL查询窗口中执 ...

随机推荐

  1. 转载收藏之用 - 微信公众平台开发教程(七):解决用户上下文(Session)问题

    从这篇文章中我们已经了解了微信公众平台消息传递的方式,这种方式有一个先天的缺陷:不同用户的请求都来自同一个微信服务器,这使得常规的Session无法使用(始终面对同一个请求对象,况且还有对方服务器Co ...

  2. VC-关于VC++ 6.0的那些事儿

    Microsoft Visual C++,(简称Visual C++.MSVC.VC++或VC)微软公司的C++开发工具,具有集成开发环境,可提供编辑C语言,C++以及C++/CLI等编程语言.VC+ ...

  3. POJ 2778 DNA Sequence (AC自动机,矩阵乘法)

    题意:给定n个不能出现的模式串,给定一个长度m,要求长度为m的合法串有多少种. 思路:用AC自动机,利用AC自动机上的节点做矩阵乘法. #include<iostream> #includ ...

  4. Linux上ld和ld.so命令的区别

    显然,ld链接器,它的生命周期是发生在compile-time的,它的一些参数是编译时期gcc给传递的,比如,指定需要链接什么库. ld.so命令的周期是发生在run-time的,名字叫动态链接器/加 ...

  5. 归纳下js面向对象的几种常见写法

    //定义Circle类,拥有成员变量r,常量PI和计算面积的成员函数area() 1.工厂方式 var Circle = function() { var obj = new Object(); ob ...

  6. python3-day2(基本回顾)

    1.作用域 1>外层变量可以被内层变更使用 2>内层变更不可以被外层使用 global nonlocal 2.对于Python,一切事物都是对象,对象基于类创建 3.练习 有如下值集合 [ ...

  7. eclipse在ubuntu13.04下崩溃crash

    错误信息: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0 ...

  8. STL中map,set的基本用法示例

    本文主要是使用了STL中德map和set两个容器,使用了它们本身的一些功能函数(包括迭代器),介绍了它们的基本使用方式,是一个使用熟悉的过程. map的基本使用: #include "std ...

  9. Oracle监听静态注册和动态注册

    静态注册和动态注册总结 一.什么是注册? 注册就是将数据库作为一个服务注册到监听程序.客户端不需要知道数据库名和实例名,只需要知道该数据库对外提供的服务名就可以申请连接到数据库.这个服务名可能与实例名 ...

  10. oracle数据库recover和restore的区别

    restore just copy the physical file, recover will consistent the database.restore 是还原,文件级的恢复.就是物理文件还 ...