您的位置:首页 > 数据库

常用连接操作数据库的DB类

2012-12-08 19:31 204 查看
using System;

using System.Data;

using System.Data.Common;

using System.Configuration;

using System.Data.SqlClient;

/// <summary>

/// 所有底层数据库访问代码

/// </summary>

public static class Db {

    private static SqlConnection conn =new SqlConnection(ConfigurationManager.ConnectionStrings["SqlConnection"].ToString());

    public static DataSet GetData(string sql)

    {

        if(conn.State!=ConnectionState.Open)

            conn.Open();

        //SqlCommand cmd=new SqlCommand(sql,conn);

        //DbDataReader read =cmd.ExecuteReader();

        DataSet ds = new DataSet();

        SqlDataAdapter da = new SqlDataAdapter(sql,conn);

            da.Fill(ds);

            conn.Close();

        return ds;

    }

    public static DataSet ExecuteSelectCommand(DbCommand command)

    {

        DataSet ds =new DataSet();

        try

        {

            //当没有打开连接就先打开数据库连接

            if (command.Connection.State != ConnectionState.Open)

                command.Connection.Open();

            SqlCommand cmd;

            cmd = (SqlCommand)command;

            SqlDataAdapter da = new SqlDataAdapter(cmd);

            da.Fill(ds);

      

        }

        catch (Exception e)

        {

            //这里应该添加错误处理程序

            throw e;

        }

        finally

        {

            command.Connection.Close();

        }

        return ds;

    }

    public static DbCommand CreateCommand()

    {

 

       

        DbCommand cmd = conn.CreateCommand();

        //设置命令类型

        cmd.CommandType = CommandType.Text;

        return cmd;

    }

    public static bool ExecuteNonQuery(DbCommand cmd)

    {

        if (conn.State != ConnectionState.Open)

        conn.Open();

        int i=cmd.ExecuteNonQuery();

        conn.Close();

        if (i > 0)

            return true;

        else

            return false;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: