sql helper
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的更多相关文章
- 微软原版SQL Helper
代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...
- Java sql helper[转]
原文:http://www.cnblogs.com/beijiguangyong/archive/2011/12/10/2302737.html package sql; import java.sq ...
- C# sql Helper
using System; using System.Collections; using System.Collections.Generic; using System.Configuration ...
- [Android 开发教程(1)]-- Saving Data in SQL Databases
Saving data to a database is ideal for repeating or structured data, such as contact information. Th ...
- Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)
知识点: 1.使用SQL Helper创建数据库 2.数据的增删查改(PRDU:Put.Read.Delete.Update) 背景知识: 上篇文章学习了保存文件,今天学习的是保存数据到SQL数据库中 ...
- 数据库Error:The ScriptCollection in ScriptName not find
System.InvalidOperationException: The ScriptCollection in ScriptName not find 在 WMI.SQL.HELPER.CONFI ...
- java攻城狮之路(Android篇)--ListView与ContentProvider
一.ListView 1.三种Adapter构建ListView ListView添加条目的时候, 可以使用setAdapter(ListAdapter)方法, 常用的ListAdapter有三种 B ...
- java攻城狮之路(Android篇)--SQLite
一.Junit 1.怎么使用 在AndroidManifest.xml文件中进行配置, 在manifest借点下配置instrumentation, 在application借点下 ...
- Oracle 数据库中不同事务并发访问的问题
现象 以SQL/Helper为例,打开不同的SQL窗口,对同一个表格进行操作,如下所示. 窗口1:当执行更新任务.紧接着执行查询时获得一组查询结果.结果是对的. 窗口2:而在另外一个SQL查询窗口中执 ...
随机推荐
- linux最大文件句柄数量总结
转载:http://jameswxx.iteye.com/blog/2096461 useradd -g gid -G gid1,gid2 user usermod -g gid -G gid1,gi ...
- BZOJ 1068 (区间DP)
题意:字符串的压缩,f[l][r][0]代表还没M,f[l][r][1]代表有M. #include<cstdio> #include<cmath> #include<c ...
- 10.1.5 Connection Character Sets and Collations
10.1.5 Connection Character Sets and Collations Several character set and collation system variables ...
- unix c 11
多线程(thread) 操作系统支持多进程,进程内部使用多线程. 进程是 重量级的,拥有自己 独立的内存空间. 线程是 轻量级的,不需要拥有自己 独立的内存空间,线程的内存空间:1 ...
- 【LeetCode练习题】Valid Palindrome
Valid Palindrome Given a string, determine if it is a palindrome, considering only alphanumeric char ...
- paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.
paip.提升性能--- mysql 建立索引 删除索引 很慢的解决. 作者Attilax , EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blo ...
- TCP和UDP的区别(转)
TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信! ...
- Swift之贪婪的UIButton
一.内容概要 按钮是所有UI体系中非常重要的组件,在iOS中按钮UIButton的使用也非常灵活,本文将从以下几点介绍UIButton的使用(基于Swift2.0): 1.UIButton基础 2.U ...
- 是什么让我想到开发NFinal
我是从01前开始就接触.net,那时.net还是1.0时代,很多东西都没有.后来.net出了2.0版本.从vs2005开始就使用Webform做网站.当时感觉.net能够拖来拖去,很厉害.参加工作后, ...
- Javascript中使用replace()方法+正则表达式替换掉所有字符
Js中的replace方法,只能替换掉第一次匹配到的字符, 而我们经常需要替换一个字符串中所有的匹配字符,这时候可以用正则表达式: str.replace(/a/g,"b"); ...