.net 连接sqlserver类库

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Linq;
  4 using System.Web;
  5 using System.Data.SqlClient;
  6 using System.Data;
  7 using System.Configuration;
  8
  9 public class SqlHelper
 10 {
 11     public static readonly string conString = ConfigurationManager.ConnectionStrings["sqlCon"].ConnectionString;
 12     //增删改
 13     public static bool ExeNonQuery(string sql, CommandType type, params SqlParameter[] lists)
 14     {
 15         bool bFlag = false;
 16         using (SqlConnection con = new SqlConnection(conString))
 17         {
 18             SqlCommand cmd = new SqlCommand();
 19             cmd.Connection = con;
 20             cmd.CommandText = sql;
 21             cmd.CommandType = type;
 22             if (lists != null)
 23             {
 24                 foreach (SqlParameter p in lists)
 25                 {
 26                     cmd.Parameters.Add(p);
 27                 }
 28             }
 29             try
 30             {
 31                 if (con.State == ConnectionState.Closed)
 32                 {
 33                     con.Open();
 34                 }
 35                 int result = cmd.ExecuteNonQuery();
 36                 if (result > 0)
 37                 {
 38                     bFlag = true;
 39                 }
 40
 41             }
 42             catch { ;}
 43         }
 44         return bFlag;
 45     }
 46
 47     //查.读
 48     public static SqlDataReader ExeDataReader(string sql, CommandType type, params SqlParameter[] lists)
 49     {
 50         SqlConnection con = new SqlConnection(conString);
 51         SqlCommand cmd = new SqlCommand();
 52         cmd.Connection = con;
 53         cmd.CommandText = sql;
 54         cmd.CommandType = type;
 55
 56         if (con.State == ConnectionState.Closed)
 57         {
 58             con.Open();
 59         }
 60
 61         if (lists != null)
 62         {
 63             foreach (SqlParameter p in lists)
 64             {
 65                 cmd.Parameters.Add(p);
 66             }
 67         }
 68
 69         SqlDataReader reader = cmd.ExecuteReader();
 70
 71         return reader;
 72     }
 73
 74     //返回单个值
 75     public static object GetScalar(string sql, CommandType type, params SqlParameter[] lists)
 76     {
 77         object returnValue = null;
 78         using (SqlConnection con = new SqlConnection(conString))
 79         {
 80             SqlCommand cmd = new SqlCommand();
 81             cmd.Connection = con;
 82             cmd.CommandText = sql;
 83             cmd.CommandType = type;
 84             if (lists != null)
 85             {
 86                 foreach (SqlParameter p in lists)
 87                 {
 88                     cmd.Parameters.Add(p);
 89                 }
 90             }
 91             try
 92             {
 93                 if (con.State == ConnectionState.Closed)
 94                 {
 95                     con.Open();
 96                 }
 97                 returnValue = cmd.ExecuteScalar();
 98
 99             }
100             catch { ; }
101         }
102         return returnValue;
103     }
104
105     //事务
106     public static bool ExeNonQueryTran(List<SqlCommand> list)
107     {
108         bool flag = true;
109         SqlTransaction tran = null;
110         using (SqlConnection con = new SqlConnection(conString))
111         {
112             try
113             {
114                 if (con.State == ConnectionState.Closed)
115                 {
116                     con.Open();
117                     tran = con.BeginTransaction();
118                     foreach (SqlCommand com in list)
119                     {
120                         com.Connection = con;
121                         com.Transaction = tran;
122                         com.ExecuteNonQuery();
123                     }
124                     tran.Commit();
125                 }
126             }
127             catch (Exception ex)
128             {
129                 Console.Write(ex.Message);
130                 tran.Rollback();
131                 flag = false;
132             }
133         }
134         return flag;
135     }
136     //返回DataTable
137     public static DataTable GetTable(string sql)
138     {
139         SqlConnection conn = new SqlConnection(conString);
140         SqlDataAdapter da = new SqlDataAdapter(sql, conn);
141         DataTable table = new DataTable();
142         da.Fill(table);
143         return table;
144     }
145     /// <summary>
146     /// 调用带参数的存储过程,返回dataTable
147     /// </summary>
148     /// <param name="proc">存储过程的名称</param>
149     /// <param name="rows">一页几行</param>
150     /// <param name="page">当前页</param>
151     /// <param name="tabName">表名</param>
152     /// <returns>dataTable</returns>
153     public static DataTable Proc_Table(string proc, int rows, int page, string tabName)
154     {
155         SqlConnection conn = new SqlConnection(conString);
156         SqlCommand cmd = new SqlCommand(proc, conn);
157         //指定调用存储过程
158         cmd.CommandType = CommandType.StoredProcedure;
159         cmd.Parameters.Add("@rows", rows);
160         cmd.Parameters.Add("@page", page);
161         cmd.Parameters.Add("@tabName", tabName);
162         SqlDataAdapter apt = new SqlDataAdapter(cmd);
163         DataTable dt = new DataTable();
164         apt.Fill(dt);
165         return dt;
166     }
167
168    //调用带参数的存储过程返回datatable
169     public static DataTable GetTablebyproc(string proc, int pageRow, int pagSize, string tabName)
170     {
171         SqlConnection conn = new SqlConnection(conString);
172         SqlCommand cmd = new SqlCommand(proc,conn);
173         cmd.CommandType = CommandType.StoredProcedure;
174         cmd.Parameters.Add("@rows", pageRow);
175         cmd.Parameters.Add("@pagesize", pagSize);
176         cmd.Parameters.Add("@tablename", tabName);
177         SqlDataAdapter apt = new SqlDataAdapter(cmd);
178         DataTable table = new DataTable();
179         apt.Fill(table);
180         return table;
181
182     }
183     public static DataTable GetDataByPager(string tbname, string fieldkey, int pagecurrent, int pagesize, string fieldshow, string fieldorder, string wherestring, ref int pagecount)
184     {
185         SqlParameter[] parameters = {
186                 new SqlParameter("@tbname",   SqlDbType.VarChar, 100),
187                 new SqlParameter("@FieldKey", SqlDbType.VarChar, 100),
188                 new SqlParameter("@PageCurrent", SqlDbType.Int),
189                 new SqlParameter("@PageSize", SqlDbType.Int),
190                 new SqlParameter("@FieldShow", SqlDbType.VarChar, 200),
191                 new SqlParameter("@FieldOrder", SqlDbType.VarChar, 200),
192                 new SqlParameter("@WhereString", SqlDbType.VarChar, 500),
193                 new SqlParameter("@RecordCount", SqlDbType.Int),
194             };
195         parameters[0].Value = tbname;
196         parameters[1].Value = fieldkey;
197         parameters[2].Value = pagecurrent;
198         parameters[3].Value = pagesize;
199         parameters[4].Value = fieldshow;
200         parameters[5].Value = fieldorder;
201         parameters[6].Value = wherestring;
202         parameters[7].Direction = ParameterDirection.Output;
203         DataTable dt = ExecuteQuery("sp_get_data", parameters).Tables[0];
204         pagecount = Convert.ToInt32(parameters[7].Value);
205         return dt;
206     }
207     /// <summary>
208     /// 执行有参数的查询类存储过程
209     /// </summary>
210     /// <param name="pstrStoreProcedure">存储过程名</param>
211     /// <param name="pParms">存储过程的参数数组</param>
212     /// <returns>查询得到的结果集</returns>
213     public static DataSet ExecuteQuery(string pstrStoreProcedure, SqlParameter[] pParms)
214     {
215
216
217         DataSet dsResult = new DataSet();
218         SqlDataAdapter sda = new SqlDataAdapter();
219         SqlConnection con = new SqlConnection(conString);
220         SqlCommand cmd;
221         int intCounter;
222         try
223         {
224             if (con.State != ConnectionState.Open)
225                 con.Open();
226             cmd = new SqlCommand();
227             cmd.Connection = con;
228             cmd.CommandType = CommandType.StoredProcedure;
229             cmd.CommandText = pstrStoreProcedure;
230             if (pParms != null)
231             {
232                 for (intCounter = 0; intCounter < pParms.GetLength(0); intCounter++)
233                 {
234                     cmd.Parameters.Add(pParms[intCounter]);
235                 }
236             }
237             sda.SelectCommand = cmd;
238             sda.Fill(dsResult);
239
240
241         }
242         catch (SqlException ex)
243         {
244             throw new Exception(ex.Message);
245         }
246         finally
247         {
248             //清空关闭操作
249             sda.Dispose();
250             con.Close();
251             con.Dispose();
252
253         }
254         return dsResult;
255     }
256     /// <summary>
257     /// 此分页存储过程直没修改 大家可以用自己的
258     /// </summary>
259     /// <param name="tableName">表名</param>
260     /// <param name="getFields">需要返回的列</param>
261     /// <param name="orderName">排序的字段名</param>
262     /// <param name="pageSize">页尺寸</param>
263     /// <param name="pageIndex">页码</param>
264     /// <param name="isGetCount">返回记录总数,非 0 值则返回</param>
265     /// <param name="orderType">设置排序类型,0表示升序非0降序</param>
266     /// <param name="strWhere"></param>
267     /// <returns></returns>
268     //public static DataSet GetList(string tableName, string getFields, string orderName, int pageSize, int pageIndex, bool isGetCount, bool orderType, string strWhere)
269     //{
270     //    SqlParameter[] parameters = {
271     //            new SqlParameter("@tblName", SqlDbType.VarChar, 255),
272     //            new SqlParameter("@strGetFields", SqlDbType.VarChar, 1000),
273     //            new SqlParameter("@fldName", SqlDbType.VarChar, 255),
274     //          new SqlParameter("@PageSize", SqlDbType.Int),
275     //       new SqlParameter("@PageIndex", SqlDbType.Int),
276     //        new SqlParameter("@doCount", SqlDbType.Bit),
277     //            new SqlParameter("@OrderType", SqlDbType.Bit),
278     //            new SqlParameter("@strWhere", SqlDbType.VarChar, 1500)
279     //                             };
280     //    parameters[0].Value = tableName;
281     //    parameters[1].Value = getFields;
282     //    parameters[2].Value = orderName;
283     //    parameters[3].Value = pageSize;
284     //    parameters[4].Value = pageIndex;
285     //    parameters[5].Value = isGetCount ? 1 : 0;
286     //    parameters[6].Value = orderType ? 1 : 0;
287     //    parameters[7].Value = strWhere;
288     //    return SqlHelper.RunProcedure("pro_pageList", parameters, "ds");
289     //}
290     //public static DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
291     //{
292     //    using (SqlConnection connection = new SqlConnection(conString))
293     //    {
294     //        DataSet dataSet = new DataSet();
295     //        connection.Open();
296     //        new SqlDataAdapter { SelectCommand = BuildQueryCommand(connection, storedProcName, parameters) }.Fill(dataSet, tableName);
297     //        connection.Close();
298     //        return dataSet;
299     //    }
300     //}
301     /// <summary>
302     /// 构建 SqlCommand 对象(用来返回一个结果集,而不是一个整数值)
303     /// </summary>
304     /// <param name="connection">数据库连接</param>
305     /// <param name="storedProcName">存储过程名</param>
306     /// <param name="parameters">存储过程参数</param>
307     /// <returns>SqlCommand</returns>
308     private static SqlCommand BuildQueryCommand(SqlConnection connection, string storedProcName, IDataParameter[] parameters)
309     {
310         SqlCommand command = new SqlCommand(storedProcName, connection)
311         {
312             CommandType = CommandType.StoredProcedure
313         };
314         foreach (SqlParameter parameter in parameters)
315         {
316             if (parameter != null)
317             {
318                 if (((parameter.Direction == ParameterDirection.InputOutput) || (parameter.Direction == ParameterDirection.Input)) && (parameter.Value == null))
319                 {
320                     parameter.Value = DBNull.Value;
321                 }
322                 command.Parameters.Add(parameter);
323             }
324         }
325         return command;
326     }
327     //根据表名和主键id来进行删除
328     public static int DelData(string tabName, string ID)
329     {
330         if (ID != string.Empty && ID != "0")
331         {
332             string sql = string.Format("delete from {0}  WHERE (ID IN ({1}))", tabName, ID);
333             int delNum = ExecuteSql(sql);
334             return delNum;
335         }
336         return 0;
337     }
338     //增删改返回执行条数
339     public static int ExecuteSql(string SQLString)
340     {
341         int num2;
342         using (SqlConnection connection = new SqlConnection(conString))
343         {
344             SqlCommand command = new SqlCommand(SQLString, connection);
345             try
346             {
347                 connection.Open();
348                 num2 = command.ExecuteNonQuery();
349             }
350             catch (SqlException exception)
351             {
352                 connection.Close();
353                 throw exception;
354             }
355             finally
356             {
357                 if (command != null)
358                 {
359                     command.Dispose();
360                 }
361             }
362         }
363         return num2;
364     }
365 }
时间: 2025-01-08 21:27:22

.net 连接sqlserver类库的相关文章

ServiceStack OrmLite 连接Sqlserver数据库

技术交流群:665060698 ServiceStack是一个.net的服务类库,包含的数据处理非常丰富,执行效率也非常高, 但ServiceStack也不止是用来写服务,也可以引用其中的dll进行数据库的连接操作,ServiceStack OrmLite支持的数据类型也很多,包括Sqlserver.Mysql.Postgresql.Sqlite等,下边分享一个 简单 ServiceStack OrmLite的连接sqlserver数据库,并获取数据.  var _sqlserverFla = 

asp.net 连接sqlserver数据库

在asp.net中连接sqlserver数据库之前,首先得确保正常安装了sqlserver2008,同时有数据库. 在项目中添加一个类DB,用来专门负责执行对数据库的增删改查.在添加的过程中会弹出下面的一个提示 直接点是就可以了. 在这个类中,首先定义一个连接对象 private SqlConnection conn = null;然后定义下面三个函数 private void SetConnection()//初始化连接对象 { if (conn == null) { //获取配置文件中的数据

U3d连接SQLServer数据库报错:由于目标计算机积极拒绝,无法连接。

   U3d连接SQLServer首先把Unity安装目录下的System.Data.dll拷到工程的Asset/Plugins目录下,然后编写连接数据库的脚本,在以上两个步骤无误的情况下,提示这个错误,要考虑SQLServer的相关服务有没有开启,同时要在SQLServer的配置管理器中启用TCP/IP协议,步骤如下 打开开始—程序—Microsoft SQL Server 2005—配置工具—SQL Server Configuration Manager-- SQL Server 2005

连接sqlserver

using System; using System.Data; using System.Data.SqlClient; namespace DBUtil { class Program { static void Main(string[] args) { //连接数据库 /** * 注意如果是本地数据库用Trusted_Connection=SSPI: * 是server的话用uid,pwd等账户密码进行验证 */ SqlConnection myCon = new SqlConnecti

php5.4.3如何连接sqlServer 2008 r2

php5.4.3如何连接sqlServer 2008 r2 1.下载 ntwdblib.dll,(http://yunpan.cn/QiRkGyLH2YYJy (提取码:edfc)),拷贝到 php安装路径的根目录下 和 Apache服务器安装路径的bin文件夹下: 2.下载sqlsrv相关文件,(http://yunpan.cn/QiRvdnxjVDffh (提取码:2f04)),解压后,双击exe文件,得到一批文件: 如果是php5.3和之前版本的,如果你安装的php是非线程安全的,复制ph

VC_ADO连接SQLSERVER时连接字符串的模式

一.连接SQL SERVER的第一种连接字串: 是针对数据库身份验证模式为"SQL SERVER 和 windows"而言, 连接字串为: CString strConn; strConn = "Provider = SQLOLEDB.1;\ Persist Security Info = true;\ User ID = sa;\ Password=123456;\ Initial Catalog = tempdb;\ Data Source = 127.0.0.1&quo

openTSP连接sqlServer数据库&amp;jpa调用存储过程

openTSP框架下的模块都是连接mysql数据库,近期青汽有连接sqlServer数据库的需求,在调研后配置了sqlServer数据库,使用jpa调用存储过程,中间也踩了不少坑,总结一下,避免大家再掉进去. 1.首先配置sqlServer的依赖 <dependency> <groupId>com.microsoft.sqlserver</groupId> <artifactId>sqljdbc4</artifactId> <version

笨鸟先飞随笔:ADO.NET中VS连接Sqlserver数据库的代码

在main函数中添加的连接Sqlserver数据库的代码如下所示: 以下代码用于Sqlserver验证方式 首先需要引用命名空间 using system.System.Data.SqlClient; static void Main(string[] args) { string constring = "server=local;database=teaching;uid=sa;pwd=123456"; using (SqlConnection conn = new SqlConn

java连接sqlserver的各个坑(菜鸟亲测)

作为一个菜鸟,刚开始用java连接sqlserver的时候,用的时间不短, 可以说解决了一个又出现一个,所以我觉得有必要把我的经验分享给大家. (因为我踩了大部分的坑) 第一个坑:加载驱动.java要连接数据库就需要驱动,我们去网上下载一个 sqljdbc.jar就行了.下载后该怎么做呢. 这个时候,我们在项目里面添加文件,然后把这个包粘贴进去,然后再右键这个包 添加构建路径,这样就可以了.这个时候你以为搞定了,可是后面还有很多坑. 第二坑:“ Failed to load the sqljdb