VS连接SQL--DBHelper

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Text;
using System.Configuration;
namespace DAL
{
    public class DBHelper
    {
        private static string DBConnectString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
        private static SqlConnection conn;
        private static SqlDataAdapter da;
        private static SqlCommand cmd;
        private static DBHelper dBHelper;

        public DBHelper()
        {
            conn = new SqlConnection(DBConnectString);
        }
        /// <summary>
        /// 实例化DBHelper对象
        /// </summary>
        /// <returns></returns>
        public static DBHelper Instance()
        {
            if (dBHelper == null)
            {
                dBHelper = new DBHelper();
            }
            return dBHelper;
        }
        /// <summary>
        /// 打开数据库连接
        /// </summary>
        void DBOpen()
        {
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }
        }
        /// <summary>
        /// 关闭数据库连接
        /// </summary>
        void DBClose()
        {
            if (conn.State == ConnectionState.Open)
            {
                conn.Close();
            }
        }
        /// <summary>
        /// 执行SQL语句获取数据集
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <returns>DataTable数据集</returns>
        public DataTable GetDataTableBySql(string sql)
        {
            DBOpen();
            DataTable dt = new DataTable();
            da = new SqlDataAdapter(sql, conn);
            try
            {
                da.Fill(dt);
                return dt;
            }
            catch
            {
                return null;
            }
            finally
            {
                DBClose();
            }
        }
        /// <summary>
        /// 执行SQL语句
        /// </summary>
        /// <param name="sql">SQL语句</param>
        /// <returns>是否执行成功</returns>
        public bool ExcuteSql(string sql)
        {
            DBOpen();
            cmd = new SqlCommand(sql, conn);
            try
            {
                cmd.ExecuteNonQuery();
                return true;
            }
            catch
            {
                return false;
            }
            finally
            {
                DBClose();
            }
        }
        /// <summary>
        /// 执行存储过程
        /// </summary>
        /// <param name="proName">存储过程名称</param>
        /// <param name="paras">存储过程参数</param>
        /// <returns>是否执行成功</returns>
        public bool ExcuteProcedure(string proName, SqlParameter[] paras)
        {
            DBOpen();
            cmd = new SqlCommand(proName, conn);
            cmd.CommandType = CommandType.StoredProcedure;

            for (int i = 0; i < paras.Length; i++)
            {
                cmd.Parameters.Add(paras[i]);
            }
            try
            {
                cmd.ExecuteNonQuery();
                return true;
            }
            catch
            {
                return false;
            }
            finally
            {
                DBClose();
            }

        }
        /// <summary>
        /// 执行存储过程获得数据集
        /// </summary>
        /// <param name="proName">存储过程名</param>
        /// <param name="paras">存储过程参数</param>
        /// <returns>DataTable数据集</returns>
        public DataTable GetDataTableByProcedure(string proName, SqlParameter[] paras)
        {
            DBOpen();
            cmd = new SqlCommand(proName, conn);
            cmd.CommandType = CommandType.StoredProcedure;
            da = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            for (int i = 0; i < paras.Length; i++)
            {
                cmd.Parameters.Add(paras[i]);
            }
            try
            {
                da.Fill(dt);
                return dt;
            }
            catch
            {
                return null;
            }
            finally
            {
                DBClose();
            }

        }

    }
}

原文地址:https://www.cnblogs.com/ZEYZY/p/9048877.html

时间: 2025-01-08 10:44:08

VS连接SQL--DBHelper的相关文章

DataBase --- Intellij IDEA 14.1.4使用Java连接SQL Server教程

Java连接数据库的方法大体分为两种:正向连接和反向连接.反向连接需要编译器提供相关的插件来支持,目前主流的java IDE都支持反向连接.这里主要对正向连接做一个经验总结. 一.数据库的配置 1.新建一个登录用户 登录数据库 进入如下界面: 2.创建用户并配置用户权限 列表左侧中选择“安全性”-->“登陆名”,右键选择“新建登录名”,填写登陆名和密码. 左侧选择“服务器角色”,配置用户权限.权限根据实际使用来赋予,最后一个"sysadmin"是管理员权限,一般选这个就行. 退出

Java连接Sql Server 2008的简单数据库应用

1.从微软官网下载JDBC驱动包 sqljdbc_4.0.2206.100_chs.exe,双击解压文件到指定目录,我的指定目录是: C:\Program Files\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\chs 下面是解压后的文件, 如果JDK版本低于6.0,则需使用sqljdbc.jar; 6.0以上版本使用sqljdbc4.jar,使用sqljdbc4.jar版本好处可以省略 Class.forName("com.micr

Visual Studio 连接 SQL Server 的connectionStringz和

最近C#和数据结构的课程设计多次用到了C#中连接SQL Server数据库的问题,其中涉及到数据库文件的附加和连接问题. 其中最烦人的就是  SqlConnection(String connStr)其中的连接字符串问题. 这里发现一个简便的不用自己写连接命令的办法. 首先是通过VS连接上你的数据库文件. 点击导航栏的工具->连接到数据库 我这里统一使用了用windows身份验证,如果你下载了 SQL Server Manager Studio,并有相关的用户名密码,可以使用用SQL Serve

Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 及sql2008外围服务器

转载:Java JDBC连接SQL Server2005错误:通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败 错误原因如下: Exception in thread "main" org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.exception.SQLStateConverter.convert(SQLStateConver

详解连接SQL Server数据库的方法,并使用Statement接口实现对数据库的增删改操作

总结一下,连接SQL Server数据库需要以下几个步骤: 1. 导入驱动Jar包:sqljdbc.jar 2. 加载并注册驱动程序 3. 设置连接路径 4. 加载并注册驱动 5. 连接数据库 6. 操作数据库 7. 关闭连接 代码如下: ******************连接数据库******************* 1 package zj6_Test; 2 import java.sql.*; 3 public class Zj6_3 { 4 /** 5 * 使用Statement接口

ThinkPHP连接sql server数据库

原文:ThinkPHP连接sql server数据库 亲身经历,在网上找连接sql server数据库的方法,还是不好找的,大多数都是照抄一个人的,而这个人的又写的不全,呵呵,先介绍一下我连接的方法吧.如果你是用THINKPHP连接,那么最重要的就是配置问题. 我的PHP版本是5.3,就说5.3的方法吧 1.首先要下载 php_pdo_sqlsrv_53_ts_vc9.dll php_sqlsrv_53_ts_vc9.dll 下载地址:http://share.weiyun.com/dc589f

delphi连接sql server的字符串2011-10-11 16:07

delphi连接sql server的字符串2011-10-11 16:07 一.delphi连接sql server 放一个连接组件 ADOConnection, 其它组件TADODataSet,TADOQuery等的connection指向ADOConnection就可以了. 你可以双击ADOConnection,使用它的向导.也可以使用下面的代码 function OpenADOConn:boolean; begin result:=false; try with ADOConnectio

使用JDBC连接SQL Server

源文:http://bbs.bc-cn.net/dispbbs.asp?boardid=12&id=140292 整理:秋忆 接触Java或者JSP,难免会使用到数据库SQL Server 2000/2005(我使用2005标准版[9.0.3054]测试),经过自己的搜索和研究,使用JDBC连接SQL Server成功,特此整理方法(使用Eclipse 3.2)如下. 准备工作 首先,操作系统中安装好SQL Server 2000/2005,如果系统中都装有2000和2005版,记得停用一个,只

Qt通过ODBC连接SQL Server2008实践总结

Qt连接数据库的方式很多,这里说明一种最常用也是最实用的方式,因为这种方式在Windows上开发程序使用起来非常方便,并且也是远程连接数据库所需要用到的方式. 前提工作: 在Win7下安装了SQL Server 2008,并在SQL Server中创建了数据库MyDB. Qt通过ODBC连接SQL Server 2008概述: Qt通过ODBC连接数据库时,使用的数据库名不是直接写入数据库名称,而是DSN名. 关于DSN的简要介绍: 原名:Data Source Name 中文名:数据源名称DS

java连接Sql server 2005

最近在做老师布置的SQL Server大作业,其中有一道题就是用java连接SQL Server.以前连接数据库都是在MyEclipse中完成的.这次我换用记事本连接.下面是我的步骤: 1.首先,下载java连接SQL Server的驱动:sqljdbc 2.解压之后,找到sqljdbc.jar的所在位置,我的是:D:\Program Files (x86)\sqljdbc\sqlDriver\sqlDriver 3.配置环境变量:在系统的classpath中将sqljdbc.jar的文件位置添