c# 数据库的 sql 参数封装类的编写

数据库的 sql 参数封装类的编写


代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Text;
namespace ChinaSite.classes
{
    public class DbAccess
    {
        SqlConnection conn = null;
        SqlCommand cmd = null;
        public DbAccess()
        {
            //
            // TODO: 在此处添加构造函数逻辑
            //
            conn = new SqlConnection();
            //conn.ConnectionString = "initial catalog=pubs;data source=.;user id=sa;password=";
            //conn.ConnectionString = Convert.ToString(System.Configuration.ConfigurationSettings.AppSettings["datasource"]);
            conn.ConnectionString = Convert.ToString(System.Configuration.ConfigurationManager.AppSettings["datasource"]);
            cmd = new SqlCommand();
            cmd.Connection = conn;
        }
        /// <summary>
        /// 获取数据根据sql语句 
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public DataTable GetTable(string sql)
        {
            DataSet ds = new DataSet();

try
            {
                cmd.CommandText = sql;
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;

da.Fill(ds);
            }
            catch (Exception ex)
            {

this.ShowError(ex.Message);
                return null;

}
            return ds.Tables[0] ?? new DataTable();
        }

/// <summary>
        /// 获取数据根据sql语句 带参数 的 
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public DataTable GetTable(string sql, params SqlParameter[] pas)
        {
            DataSet ds = new DataSet();
            try
            {
                cmd.CommandText = sql;
                SqlDataAdapter da = new SqlDataAdapter();
                da.SelectCommand = cmd;
                cmd.Parameters.Clear();

foreach (SqlParameter temppa in pas)
                {
                    cmd.Parameters.Add(temppa);
                }

da.Fill(ds);
            }
            catch (Exception ex)
            {

this.ShowError(ex.Message);
                return null;
            }
            return ds.Tables[0] ?? new DataTable();
        }
        /// <summary>
        /// 根据sql语句返回跟新状态
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public bool GetState(string sql)
        {
            bool succ = false;
            try
            {
                cmd.CommandText = sql;
                conn.Open();
                succ = cmd.ExecuteNonQuery() > 0 ? (true) : (false);
                conn.Close();
            }
            catch (Exception ex)
            {

this.ShowError(ex.Message);
                return false;
            }
            return succ;

}
        /// <summary>
        /// 根据sql语句返回跟新状态带参数的 
        /// </summary>
        /// <param name="sql">sql语句</param>
        /// <param name="pas">参数的集合</param>
        /// <returns></returns>
        public bool GetState(string sql, params SqlParameter[] pas)
        {
            bool succ = false;
            try
            {
                cmd.CommandText = sql;
                cmd.Parameters.Clear();

foreach (SqlParameter temppa in pas)
                {
                    cmd.Parameters.Add(temppa);
                }
                conn.Open();
                succ = cmd.ExecuteNonQuery() > 0 ? (true) : (false);
                conn.Close();
            }
            catch (Exception ex)
            {

this.ShowError(ex.Message);
                return false;
            }
            return succ;

}
        /// <summary>
        /// 根据sql语句返回第一个单元格的数据
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public string GetOne(string sql)
        {
            string res = "";
            try
            {
                cmd.CommandText = sql;
                conn.Open();
                res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar()));
                conn.Close();
            }
            catch (Exception ex)
            {

this.ShowError(ex.Message);
                return null;
            }
            return res;
        }
        /// <summary>
        ///  根据sql语句返回第一个单元格的数据带参数的 
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public string GetOne(string sql, params SqlParameter[] pas)
        {
            string res = "";
            try
            {
                cmd.CommandText = sql;
                cmd.Parameters.Clear();

foreach (SqlParameter temppa in pas)
                {
                    cmd.Parameters.Add(temppa);
                }
                conn.Open();
                res = cmd.ExecuteScalar() == null ? ("") : (Convert.ToString(cmd.ExecuteScalar()));
                conn.Close();
            }
            catch (Exception ex)
            {

this.ShowError(ex.Message);
                return null;
            }
            return res;
        }
        /// <summary>
        /// 返回数据的DataReader
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public SqlDataReader GetDataReader(string sql)
        {
            SqlDataReader dr = null;
            try
            {
                conn.Open();
                cmd.CommandText = sql;
                dr = cmd.ExecuteReader();
            }
            catch (Exception ex)
            {

this.ShowError(ex.Message);
                return null;
            }
            return dr;
        }
        /// <summary>
        /// 返回数据的DataReader带参数的 
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="pas"></param>
        /// <returns></returns>
        public SqlDataReader GetDataReader(string sql, params SqlParameter[] pas)
        {
            SqlDataReader dr = null;
            try
            {
                conn.Open();
                cmd.Parameters.Clear();

foreach (SqlParameter temppa in pas)
                {
                    cmd.Parameters.Add(temppa);
                }

cmd.CommandText = sql;
                dr = cmd.ExecuteReader();
            }
            catch (Exception ex)
            {

this.ShowError(ex.Message);
                return null;
            }
            return dr;
        }
        /// <summary>
        /// 打开连接
        /// </summary>
        public void OpenConn()
        {
            if (conn.State != ConnectionState.Open)
            {
                try
                {
                    conn.Open();
                }
                catch (Exception ex)
                {

this.ShowError(ex.Message);
                    return;
                }
            }
        }
        /// <summary>
        /// 关闭连接
        /// </summary>
        public void CloseConn()
        {
            if (conn.State != ConnectionState.Closed)
            {
                try
                {
                    conn.Close();
                    cmd = null;
                    conn = null;
                }
                catch (Exception ex)
                {

this.ShowError(ex.Message);
                    return;
                }
            }
        }
        /// <summary>
        /// 弹出错误的信息 
        /// </summary>
        /// <param name="err"></param>
        public void ShowError(string err)
        {
            System.Web.HttpContext.Current.Response.Write(Script(err, ""));
        }
        /// <summary>
        /// 显示信息 
        /// </summary>
        /// <param name="err"></param>
        public void ShowMessage(string mes, string loc)
        {
            System.Web.HttpContext.Current.Response.Write(Script(mes, loc));
        }
        /// <summary>
        /// javascript脚本
        /// </summary>
        /// <param name="mess"></param>
        /// <param name="loc"></param>
        /// <returns></returns>
        public string Script(string mess, string loc)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append("<script language='javascript'>");
            sb.Append("alter('");
            sb.Append(mess);
            sb.Append("');");
            sb.Append(loc);
            sb.Append("</script>");
            return sb.ToString();

}

}
}

(0)

相关推荐

  • C#使用DataSet Datatable更新数据库的三种实现方法

    本文以实例形式讲述了使用DataSet Datatable更新数据库的三种实现方法,包括CommandBuilder 方法.DataAdapter 更新数据源以及使用sql语句更新.分享给大家供大家参考之用.具体方法如下: 一.自动生成命令的条件 CommandBuilder 方法 a)动态指定 SelectCommand 属性 b)利用 CommandBuilder 对象自动生成 DataAdapter 的 DeleteCommand.InsertCommand 和 UpdateCommand

  • 数据库 数据类型float到C#类型decimal, float数据类型转化无效

    今天运行系统突然出错,数据类型转化无效,错误在system.data.sqlclient.get_decimal()方法,初步估计是数据库的float类型转换为c#的decimal类型时出错了,实体类使用的是decimal?类型,心想就算数据库里的数值是空,也不能出现转换错误啊. 网上百般搜索,很多人遇到类似情况,多数是直接去float类型时候出错,如(float)dr[0],后来看到有说应该是先转化成double,然后在转化成float就可以了 尝试了一下把实体类的decimal?类型的字段改

  • c#操作sqlserver数据库的简单示例

    1.在用windows模式登陆sql server 数据库 简历一个student的数据库,然后新建查询: 复制代码 代码如下: create table student( id     int  auto_increment  primary key, name char(10) not null, sex    char(10) not null, age   char(10) not null,   ) 2.在vs中新建一个项目,输入一下代码: 复制代码 代码如下: using Syste

  • c#生成excel示例sql数据库导出excel

    复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.Office.Interop.Excel;using System.Reflection; namespace ListToExcel{    class Program    {        static List<objtype> objs = new List<ob

  • c#连接access数据库操作类分享

    1.配置web.config文件:配置数据库连接参数(根据实际情况设置数据库路径和密码) 复制代码 代码如下: <configuration><appSettings/><connectionStrings><add name="ConnectionString" connectionString="PRovider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\keleyi\App_Data\db.m

  • C# Oracle数据库操作类实例详解

    本文所述为C#实现的Oracle数据库操作类,可执行超多常用的Oracle数据库操作,包含了基础数据库连接.关闭连接.输出记录集.执行Sql语句,返回带分页功能的dataset .取表里字段的类型和长度等,同时还有哈稀表自动插入数据库等高级任务.需要特别指出的是:在执行SQL语句,返回 DataReader之前一定要先用.read()打开,然后才能读到数据,再用hashTable对数据库进行insert,update,del操作,注意此时只能用默认的数据库连接"connstr". 完整

  • c#数据绑定之向查询中添加参数(.Net连接外部数据库)

    在ACCESS数据库中可以用MSSQL的形式定义操作字符串,也可以采用OLEDB的形式. MSSQL 形式 复制代码 代码如下: string sqlText = @"SELECT * FROM [User] WHERE UserName= @name"; OLEDB的形式 复制代码 代码如下: string sqlText = @"SELECT * FROM [User] WHERE UserName= ?"; 下一步是通过 OleDbCommand执行操作. 复

  • .NET(C#)连接各类数据库代码-集锦

    1.C#连接连接Access 复制代码 代码如下: using System.Data;  using System.Data.OleDb;  ..  string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";  strConnection+=@"Data Source=C:BegASPNETNorthwind.mdb";  OleDbConnection objConnection=new OleDbConn

  • 支持多类型数据库的c#数据库模型示例

    DataAccess.cs 复制代码 代码如下: using System;using System.Collections.Generic;using System.Text; namespace DynamicFramework{    public abstract class DataAccess : MarshalByRefObject    {        protected System.Data.Common.DbConnection connection;        p

  • c#连接sqlserver数据库、插入数据、从数据库获取时间示例

    c#连接sqlserver.插入数据.从数据库获取时间 复制代码 代码如下: using System;using System.Data.SqlClient; namespace Test{    //连接数据库    public class Connection    {        private static string connectionString =            "Server = 192.168.1.222;" +            "D

  • C#数据库操作类AccessHelper实例

    本文实例讲述了C#数据库操作类AccessHelper.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Data.OleDb; using ahwildlife.Utils; /// <summary> /// AccessHelper 的摘要说明 /// </summary> public class AccessH

随机推荐