C#链接SQLServer数据库通用类库

该类库是我自己总结测试,并且一直在用的,里面有各种对数据库的操作函数,创建数据库,创建表,写入参数等等。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Data.Common;
using System.Configuration;
namespace SQLTest
{
    class SqlServrDbase
    {

            private static string DB_Source = "";
            //服务器名Server或Data Source,数据库名 Database或initial catalog,设置为Windows登录,需使用Integrated Security = TRUE(或者:SSPI)来进行登录
            public string connString = @"Data Source='" + DB_Source + "';Initial Catalog=;Integrated Security=SSPI;";
            public string sql = "";
            public SqlConnection conn = null;
            private SqlCommand cmd = null;

            ///


            /// 构造方法
            ///

            ///
            public SqlServrDbase(string source)
            {
                DB_Source = source;
                connString = @"Data Source='" + DB_Source + "';Initial Catalog=;Integrated Security=SSPI;";
            }

            // 执行对数据表中数据的查询操作
            public DataSet GetSysDatabases()
            {
     
                sql = "SELECT Name FROM Master..SysDatabases ORDER BY Name";//获取所有数据库名: 
                conn = new SqlConnection(connString);
                DataSet ds = new DataSet();
                try
                {
                    conn.Open();      //打开数据库
                SqlDataAdapter adp = new SqlDataAdapter(sql, conn);
                adp.Fill(ds);
                }
                catch (SqlException ae)
                {
                }
                finally
                {
                    if (conn.State == ConnectionState.Open)
                        conn.Close();      //关闭数据库
                }
                return ds;
            }
     
 
        /// 返回DataSet,可以填充DataView等
            public  DataSet GetDataSet(string sql)
            {
                SqlConnection Conn = new SqlConnection(connString);
                try
                {
                    DataSet ds = new DataSet();
                    Conn.Open();
                    SqlDataAdapter sqlDa = new SqlDataAdapter(sql, Conn);
                    sqlDa.Fill(ds);
                    return ds;
                }
                finally
                {
                    Conn.Close();
                    Conn.Dispose();
                }
            }
     
            /// 按sql语句返回DataTable
        public DataTable GetDataTable(string sql)
            {
                SqlConnection Conn = new SqlConnection(connString);
                Conn.Open();
                DataSet ds = new DataSet();
                try
                {
                    ds = GetDataSet(sql);
                    return ds.Tables[0];
                }
              
                finally
                {
                    ds.Dispose();
                    Conn.Close();
                    Conn.Dispose();
                }
            }
 
     
        public int ExcuteSQL(string sql)
        {
                int i = 0;
            SqlConnection Conn = new SqlConnection(connString);
                if (Conn.State != ConnectionState.Open)
                {
                    Conn.Open();
                }
                SqlCommand cmd = new SqlCommand(sql, Conn);
                try
                {
                    //判断是否开启事务
                    if (sql != null)
                    {
                        i = cmd.ExecuteNonQuery();
                    }
                }
     
                finally
                {
                    Conn.Close();
                    Conn.Dispose();
                }
                return i;
            }
     


            public void ExcuteNonSQL(string sql)
            {
                int i = 0;
                SqlConnection Conn = new SqlConnection(connString);
                if (Conn.State != ConnectionState.Open)
                {
                    Conn.Open();
                }
            SqlCommand cmd = new SqlCommand(sql, Conn);
                try
                {
                    //判断是否开启事务
                    if (sql != null)
                    {
                        i = cmd.ExecuteNonQuery();
                    }
                }
     
                finally
                {
                    Conn.Close();
                    Conn.Dispose();
                }
     
            }
     
    
     
            #region IsDBExist-判断数据库是否存在
            ///


            /// 判断数据库是否存在
            ///

            /// 数据库的名称
            /// true:表示数据库已经存在;false,表示数据库不存在
            public Boolean IsDBExist(string db)
            {
                string sql = " select * from master.dbo.sysdatabases where name " + "= '" + db + "'";
                DataTable dt = GetDataTable(sql);
                if (dt.Rows.Count == 0)
                {
                    return false;
                }
                else
                {
                    return true;
                }
            }
            #endregion
     
            #region CreateDataBase-创建数据库
            ///
            /// 创建数据库
            ///

            /// 数据库名称
            /// 数据库文件路径
            public void CreateDataBase(string DB_NAME, string DB_PATH)
            {
                //符号变量,判断数据库是否存在
                Boolean flag = IsDBExist(DB_NAME);
     
                //如果数据库存在,则抛出
                if (flag == true)
                {
                    //throw new Exception("数据库已经存在!");
                }
                else
                {
                    try
                    {
                       
                    //数据库不存在,创建数据库
                    conn = new SqlConnection(connString);
                    if (conn.State != ConnectionState.Open)
                        conn.Open();
                    string sql = "if not exists(select * From master.dbo.sysdatabases where name='" + DB_NAME + "')" + 
                        "CREATE DATABASE " + DB_NAME + " ON PRIMARY" + "(name=" + DB_NAME + ",filename = '" + DB_PATH + DB_NAME + ".mdf', size=5mb," +
                        "maxsize=100mb,filegrowth=10%)log on" + "(name=" + DB_NAME + "_log,filename='" + DB_PATH + DB_NAME + "_log.ldf',size=2mb," + "maxsize=20MB,filegrowth=1mb)";
                    cmd = new SqlCommand(sql, conn);
                    cmd.ExecuteNonQuery();
                    }
                    catch (SqlException sqle)
                    {
                        throw new Exception(sqle.Message.ToString());
                    }
                    finally
                    {
                        if (conn.State == ConnectionState.Open)
                            conn.Close();
                        conn.Dispose();
                    }
     
                }
            }
            #endregion
     
     
            #region IsTableExist-判断数据库表是否存在
            ///
            /// 判断数据库表是否存在
            ///

            /// 数据库
            /// 数据库表名
            ///
            public Boolean IsTableExist(string db, string tb)
            {
                string sql = "use " + db + " select * from sysobjects where id = object_id('" + tb + "') and type ='U

你可能感兴趣的:(C#学习,C#,SQLServer数据库,类库)