当前位置: 首页 > 编程日记 > 正文

sql help cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;

/// <summary>
    /// SQLHelper 的摘要描述
    /// </summary>
public class SQLHelper
{
 
    private static readonly string ConnectionString = ConfigurationManager.ConnectionStrings["DBConnectionString"].ConnectionString;

#region ExecuteReader():執行并返回一個數據集


    /// <summary>
    /// 執行一段SqlCommand并返回一個結果集
    /// </summary>
    /// <param name="strSql">sql語句</param>
    /// <param name="Parms">參數</param>
    /// <returns></returns>
    public SqlDataReader ExecuteReader(string strSql, SqlParameter[] Parms)
    {
        try
        {
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }

using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = strSql;
                    cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddRange(Parms);
                    conn.Open();
                    SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
                    cmd.Parameters.Clear();
                    return rdr;
                    conn.Close();
                }
            }
         
        }
        catch (Exception ex)
        {
            fn_share fn_share = new fn_share();
            fn_share.systemLog(strSql + ex.Message);

return (SqlDataReader)null;
        }


    }
    #endregion


    #region ExecuteNonQuery():執行并返回一個結果,1代表成功,-1代表失敗
   
    /// <summary>
    /// 執行并返回一個結果,1代表成功,-1代表失敗
    /// </summary>
    /// <param name="strSql"></param>
    /// <param name="Parms"></param>
    /// <returns></returns>
    public int ExecuteNonQuery(string strSql, SqlParameter[] Parms)
    {
        try
        {
            int retcount = -1;
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }

using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = strSql;
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.CommandTimeout = 0;

cmd.Parameters.AddRange(Parms);
                    conn.Open();
                    retcount = cmd.ExecuteNonQuery();
                    conn.Close();
                    cmd.Parameters.Clear();

}
            }

return retcount;
        }
        catch (Exception ex)
        {
            fn_share fn_share = new fn_share();

fn_share.systemLog(strSql + ex.Message);

return -1;
        }
  
    }
    #endregion

#region ExecuteScalar():返回數據集第一行第一列的數據
   
    /// <summary>
    /// 返回數據集第一行第一列的數據
    /// </summary>
    /// <param name="strSql"></param>
    /// <param name="Parms">參數</param>
    /// <returns></returns>
    public object ExecuteScalar(string strSql, SqlParameter[] Parms)
    {
        object retobject = null;
        try
        {
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }

using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = strSql;
                    cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddRange(Parms);
                    conn.Open();
                    retobject = cmd.ExecuteScalar();
                    conn.Close();
                    cmd.Parameters.Clear();

}
            }
        }
        catch (Exception ex)
        {
            fn_share fn_share = new fn_share();

fn_share.systemLog(strSql + ex.Message);


        }


        return retobject;
    }
    #endregion

#region GetDataTable():根據sql返回一個數據表

/// <summary>
    /// 根據sql返回一個數據表
    /// </summary>
    /// <param name="strSql"></param>
    /// <param name="Parms"></param>
    /// <returns></returns>
    public DataTable GetDataTable(string strSql, SqlParameter[] Parms)
    {
        try
        {
            DataTable dt = new DataTable();
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }

using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = strSql;
                    cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddRange(Parms);
                    conn.Open();
                    SqlDataReader dr = cmd.ExecuteReader();
                    dt.Load(dr);
                    conn.Close();

cmd.Parameters.Clear();

}
            }
            return dt;

}
        catch (Exception ex)
        {
            fn_share fn_share = new fn_share();

fn_share.systemLog(strSql + ex.Message);
            return (DataTable)null;
        }
       
    }
    #endregion

#region GetDataSet():根據sql返回一個數據集

/// <summary>
    /// 根據sql返回一個數據集
    /// </summary>
    /// <param name="strSql"></param>
    /// <param name="Parms"></param>
    /// <returns></returns>
    public DataSet GetDataSet(string strSql, SqlParameter[] Parms)
    {
       
        try
        {
            DataSet ds = new DataSet();
            using (SqlConnection conn = new SqlConnection(ConnectionString))
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = strSql;
                    cmd.CommandTimeout = 0;
                    cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddRange(Parms);

SqlDataAdapter da = new SqlDataAdapter(cmd);

da.Fill(ds);
                    conn.Close();
                    cmd.Parameters.Clear();
                }
            }
            return ds;
        }
        catch(Exception ex)
        {
            fn_share fn_share = new fn_share();

fn_share.systemLog(strSql + ex.Message);

return (DataSet)null;
        }
       
    }
    #endregion
}

转载于:https://www.cnblogs.com/Nina-piaoye/p/3223217.html

相关文章:

Spring Cloud应用开发(一:使用Eureka注册服务)

1、搭建maven父工程&#xff1b; 注&#xff1a;在MyEclipse中&#xff0c;创建一个Maven父工程cloud&#xff0c;并在工程的pom.xml中添加Spring Cloud的版本依赖等信息。 2、搭建服务端工程。 注&#xff1a;在父工程cloud中&#xff0c;创建Maven子模块ms-spring-eureka-s…

SRWebSocket源码浅析(上)

2017-06-12 涂耀辉 Cocoa开发者社区一. 前言&#xff1a; WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——可以通俗的解释为服务器主动发送信息给客户端。 区别于MQTT、XMPP等聊天的应用层协议&#xff0c;它是一个传输通讯协…

Mason 简单笔记

Mason的对象 ------------------------------- Request对象 Mason有两个全局预处理对象叫做&#xff1a;$r和$m $r是mod_perl的请求对象&#xff0c;它提供了Perl的API来执行Apache的请求。 $r->;uri #获得用户请求的地址 $r->;content_type #获得…

多级页表如何节省内存

在谈到多级页表的优势的时候&#xff0c;很多地方都是这么说的&#xff1a;32位地址空间的分页系统&#xff0c;如果页面大小为4KB&#xff0c;则每个进程可达1M个页&#xff0c;假设每个页表项占用4个字节&#xff0c;这样每个进程仅仅页表项就占用了4MB连续的内存空间。 那么…

Spring Cloud应用开发(二:实现服务间的调用)

1、搭建订单服务工程。 注&#xff1a;在父工程cloud中&#xff0c;创建Maven子模块ms-spring-eureka-server&#xff1b; 1.1、添加依赖&#xff0c;在pom文件中添加Eureka依赖&#xff1b; 1.2、写配置文件&#xff0c;在配置文件中添加Eureka服务实例的端口号、服务端地址等…

webSocket详解

前言 本文会用实例的方式&#xff0c;将iOS各种IM的方案都简单的实现一遍。并且提供一些选型、实现细节以及优化的建议。 注&#xff1a;文中的所有的代码示例&#xff0c;在github中都有demo&#xff1a; iOS即时通讯&#xff0c;从入门到“放弃”&#xff1f;(demo) 可以打…

2013多校第三场

hdu 4629 题意&#xff1a;给你n个三角形&#xff0c;问覆盖1~n次的面积各是多少&#xff0c;n < 50; 分析&#xff1a;取出所有端点和交点的x坐标&#xff0c;排序&#xff0c;然后对于每一段xi~xi1的范围的线段都是不相交的&#xff0c;所以组成的 面积要么是三角形&#…

React+Reflux博客实践

年初用ReactExpressMongodb写的一个简单的博客。分享给各位朋友参考。 前端&#xff1a;ReactReact RouterRefluxReact-BootstrapWebpack后端&#xff1a;Express(Node.js)Ejs(Index)Mongoose(mongodb) 博客Demo地址&#xff1a;http://itdotaerblog.herokuapp.comGithub Addre…

Spring Cloud应用开发(三:客户端的负载均衡)

1、Ribbon的使用 注&#xff1a;在石榴啊RestTemplate的方法上添加LoadBalanced注解&#xff0c;并在其执行方法中使用服务实例的名称即可&#xff1b; 1.1、添加LoadBalanced注解&#xff0c;在ms-spring-eureka-user工程引导类中的RestTemplate&#xff08;&#xff09;方法…

SRWebSocket源码浅析(下)

接上文&#xff09; 四. 接着来讲讲数据的读和写&#xff1a; 当建立连接成功后&#xff0c;就会循环调用这么一个方法&#xff1a; //读取http头部 - (void)_readHTTPHeader; { if (_receivedHTTPHeaders NULL) { //序列化的http消息 _receivedHTTPHeaders CFHTTPMessageCre…

(IOS)签名Demo

思路是将每一次按下屏幕的touch move时的点存到一个数组里&#xff0c;即一个数组相当于一个笔画&#xff1b;再将该代表笔画的数组保存到一个大数组中&#xff0c;每组每次touch的移动都历遍大数组和笔画数组&#xff0c;将点于点之间连接起来。 #import <UIKit/UIKit.h>…

debug运行可以,release运行报错的原因及修改方法

通常我们开发的程序有2种模式:Debug模式和Release模式在Debug模式下,编译器会记录很多调试信息,也可以加入很多测试代码,方便我们程序员测试,以及出现bug时的分析解决Release模式下,就没有上述那些调试信息,而且编译器也会自动优化一些代码,这样生成的程序性能是最优的,但是如果…

Spring Cloud应用开发(四:服务容错保护)

1、Spring Cloud Hystrix的使用 1.1、创建microservice-eureka-user-hystrix工程&#xff0c;并在其pom.xml中引入eureka和hystrix的依赖&#xff1b; 1.2、编写配置文件。在配置文件中添加Eureka服务实例的端口号&#xff0c;服务端地址等&#xff1b; 1.3、在工程主类Applic…

计量注册师考试一些关于期限、时间、机构的总结

1&#xff1a;有效期&#xff1a; 认证5年&#xff0c;基准5年&#xff0c;标准4年&#xff0c;机构授权3年&#xff0c;注册计量师注册证3年&#xff0c;制造、修理许可证3年。 提前量&#xff1a;标准考核提前6个月&#xff0c;注册计量师在有效期满前30工作日内提出申请延续…

TinyCrayon-iOS-SDK:强大到使人惊讶的 Mask 及切图工具库

原文链接&#xff1a;https://github.com/TinyCrayon/TinyCrayon-iOS-SDKTinyCrayon-iOS-SDK&#xff1a;强大到使人惊讶的 Mask 及切图工具库。# 为开源点赞# —— 由SwiftLanguage分享A smart and easy-to-use image masking and cutout SDK for mobile apps. TinyCrayon SDK…

Android之自定义AlertDialog无法监听控件

参考&#xff1a;http://www.cnblogs.com/511mr/archive/2011/10/21/2220253.html 要做一个自定义的弹出框&#xff0c;以前都是用一个Activity来实现&#xff0c;总觉得不是很好看&#xff0c;弹出的框有时候感觉有点大&#xff0c;所以上网查资料说&#xff0c;可以给AlertDi…

Spring Cloud应用开发(五:API网关服务)

1、使用Zuul构建API网关服务&#xff1b; 注&#xff1a;本服务涉及到3个工程&#xff0c;起作用分别如下&#xff1a; ms-spring-eureka-server工程&#xff1a;服务注册中心&#xff0c;端口为8761。ms-spring-eureka-order工程&#xff1a;服务提供者&#xff0c;需要启动…

多态---父指针指向子类对象(父类引用指向子类对象)

我们都知道&#xff0c;面向对象程序设计中的类有三大特性&#xff1a;继承&#xff0c;封装&#xff0c;多态&#xff0c;这个也是介绍类的时候&#xff0c;必须提到的话题&#xff0c;那么今天就来看一下OC中类的三大特性&#xff1a; 一、封装 封装就是对类中的一些字段&…

ARKit从入门到精通-ARKit工作原理及流程介绍

2017-06-15 坤小 Cocoa开发者社区转载请注明出处:http://www.jianshu.com/p/0492c7122d2f 1.1-写在前面的话 1.2-ARKit与SceneKit的关系 1.3-ARKit工作原理 1.3.1-ARSCNView与ARSession 1.3.2-ARWorldTrackingSessionConfiguration与ARFrame 1.4-ARKit工作完整流程 1…

【C语言也能干大事】第五讲 组合框控件,下拉列表

获得组合框控件的句柄HWND hwndCombo1 GetDlgItem(hwnd, IDC_COMBO1); 确定目前选项的索引 int curSel ComboBox_GetCurSel(hwndCombo1); 删除项 ComboBox_DeleteString(hwndCombo1, 2); 取得有多少项int getCount ComboBox_GetCount(hwndCombo1);TCHAR getcount[256];itoa(…

Spring Cloud应用开发(六:使用本地存储方式实现分布式配置管理 )

1、搭建Config Server&#xff1b; 1.1、创建配置中心工程microservice-config-server&#xff0c;并在其pom.xml中引入Config Server的依赖&#xff1b; 1.2、编写配置文件application.yml&#xff0c;添加服务端口号和存储属性等信息&#xff1b; 1.3、在scr/main/resources…

PL SQL笔记(三)

loopif credit_rating < 3 then..exit;end if; end loop; select to_char(sysdate, YYYY-MM-DD HH24:MI:SS) from dual; select cast(sysdate as timestamp) from dual; 复合类型数据 1.记录: declaretypeemp_record_typeis record(r_name emp.ename%type,r_job emp.job%typ…

iOS-仿膜拜贴纸滚动(物理仿真)

导读 简单用OC写了一个小球滚动效果; 类似平衡球. GitHub地址&#xff1a;https://github.com/wangliujiayou/WLBallView 欢迎Star. 膜拜滚动进入正题-(传感器) 传感器是一种感应\检测装置, 目前已经广泛应用于智能手机上&#xff0c;用于感应\检测设备周边的信息&#xff0c;不…

Redhat、centos安装配置postgresql

一.安装postgresql 本文仅以 redhat&#xff0c;postgresql9.4为例&#xff0c;使用yum方式进行介绍。 官网&#xff1a;http://www.postgresql.org/download/linux/redhat/ 1.下载postgresql的yum源 yum install http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-red…

Spring Cloud应用开发(七:使用Git存储方式实现分布式配置管理 )

1、使用Git存储实现管理&#xff1b; 1.1、配置Git。在Git上创建microservice-study-config目录&#xff0c;并在目录中添加开发&#xff0c;预发布和测试的配置文件&#xff1b; 1.2、修改服务端配置文件。将microservice-config-server工程的配置文件中本地文件存储方式的配…

IOS 自定义相机, 使用 AVFoundation(附实现部分腾讯水印相机功能 demo)

原文链接&#xff1a;http://www.jianshu.com/p/c64bf543f16a这是一款使用 AVFoundation 自定义的相机&#xff0c;与系统原生相机有一样的外观但比系统的相机更好、更符合实际的开发需要、可以自己修改 UI、实现拍照、取消、闪光灯控制、前后摄像头控制、聚焦、放大缩小、拍照…

如何成为一个好的测试工程师(转载,大意)

对于测试功能是的两个不同观点&#xff1a;软实力和技术能力。 个人觉得技术能力80%可以被大众掌握&#xff0c;但是软实力是需要花费很多时间去培养和塑造的。一下几点也是能够衡量个人技能的一些标准&#xff1a; 1&#xff0c;沟通技能-口头和书面能力 与人的第一印象&#…

ubuntu下7z文件的解压方法

apt-get install p7zip-full 控制台会打出以下信息&#xff1a; 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 建议安装的软件包&#xff1a; p7zip-rar下列【新】软件包将被安装&#xff1a; p7zip-full升级了 0 个软件包&…

Docker的使用(一:Docker入门程序)

1、编写Dockerfile文件&#xff1b; 注&#xff1a;创建一个空的Docker工作目录dockerspace&#xff0c;进而进入该目录&#xff0c;并创建编写dockerfile文件&#xff1b; 2、编写外部文件。 注&#xff1a;在当前目录&#xff08;dockerspace&#xff09;下分别创建require…

iOS OpenCV 图像灰度处理

2017-06-21 小溪彼岸 Cocoa开发者社区推荐人&#xff1a;wo709128079 有时候开发过程中&#xff0c;切图满足不了我们的需求&#xff0c;此时我们需要对图像进行灰度处理&#xff0c;例如QQ头像在线、离线等不同状态等。 可以尝试的解决方案&#xff1a; 第一种&#xff1a;让U…