首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

跪求DbHelper种

2013-01-21 
跪求DbHelper类谁手上有比较好用的dbhelper类,可以使用数据库事务处理的。另外微软的dbhelper类如何?是否可

跪求DbHelper类
谁手上有比较好用的dbhelper类,可以使用数据库事务处理的。另外微软的dbhelper类如何?是否可以直接使用,感觉好像少了很多的异常处理。谢谢!!!
[解决办法]
微软的设计最合理。

不是不处理异常,而是数据库查询出现的异常本来就不应该被吃掉,否则你的调用代码出了错不好调试,而且也无法保证业务处理的可靠。
[解决办法]
邮箱多少?发给你.
[解决办法]
微软的dbhelper 可以啊 挺好的。
[解决办法]

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;

namespace tests.DBOperation
{
    class DBOperate
    {
        //根据数据库配置文件确定当前的连接字符串
        public static String GetstrConn()
        {
            ////    ClsDataContact.readDBInfo();
            //String strSource;
            ////获取登陆模式
            //int intPattern = ClsOverallVar.GetPattern();
            ////获取服务器名称
            //String strServerName = ClsOverallVar.GetServerName();
            ////获取登陆账号
            //String strServerId = ClsOverallVar.GetServerId();
            ////获取服务器名称
            //String strServerPwd = ClsOverallVar.GetServerPwd();
            ////获取数据库名称
            //String strDBName = ClsOverallVar.GetDBName();



            //if (intPattern == 0) //此时为仅Windows登陆模式
            //    strSource = "Server=localhost;integrated security=SSPI;Initial Catalog=FixedAssetsMs";
            //else                 //此时为混合登陆模式
           //     strSource = "Server=" + strServerName + ";User ID=" + strServerId + "; Password=" + strServerPwd + ";integrated security=SSPI;Initial Catalog=FixedAssetsMs";
            String strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";

            return strSource;

        }



        //提供一个打开的数据库联接
        public static SqlConnection GetConnection()
        {
      //      String strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";

            String strSource;
            if (ClsOverallVar.GetPattern() == 0)
            {
                strSource = "Server=.\\SQLEXPRESS;integrated security=SSPI;Initial Catalog='" + ClsOverallVar.GetDBName() + "'";

            }
            else
            {
                strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";
            }


     //       String strSource = GetstrConn();
            SqlConnection myConn = new SqlConnection(strSource);
            myConn.Open();
            myConn.Close();
            return myConn;
        }



        public static DataTable GetDataTableBySql(string sqlStr)
        {
       //    String  strSource = "Server=localhost;integrated security=SSPI;Initial Catalog=xdtzMs";

        //    ClsDataContact.readDBInfo();


          //  String strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";

            String strSource = "";

            if (ClsOverallVar.GetPattern() == 0)
            {
                strSource = "Server=.\\SQLEXPRESS;integrated security=SSPI;Initial Catalog='" + ClsOverallVar.GetDBName() + "'";

            }


            else
            {
                strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";
            }





           SqlConnection myConn1 = new SqlConnection(strSource);
            myConn1.Open();
            SqlDataAdapter myDA = new SqlDataAdapter(sqlStr, myConn1);
            DataSet myDS = new DataSet();
            myDA.Fill(myDS);
            myConn1.Close();
            return myDS.Tables[0];
        }


        public static void DoSqlString(string sqlStr)
        {

       //     ClsDataContact.readDBInfo();

      //      String strSource = "Server=localhost;integrated security=SSPI;Initial Catalog=xdtzMs";
      //      String strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";


            String strSource = "";

            if (ClsOverallVar.GetPattern() == 0)
            {
                strSource = "Server=.\\SQLEXPRESS;integrated security=SSPI;Initial Catalog='" + ClsOverallVar.GetDBName() + "'";

            }
            else
            {
                strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";
            }


            SqlConnection myConn= new SqlConnection(strSource);
            myConn.Open();
            SqlCommand myCmd = new SqlCommand(sqlStr, myConn);


            myCmd.ExecuteNonQuery();
            myConn.Close();

        }




        public static int DoSqlStringReturn(string sqlStr)
        {

            //     ClsDataContact.readDBInfo();

            //      String strSource = "Server=localhost;integrated security=SSPI;Initial Catalog=xdtzMs";
            //      String strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";

            int i = 0;

            String strSource = "";

            if (ClsOverallVar.GetPattern() == 0)
            {
                strSource = "Server=.\\SQLEXPRESS;integrated security=SSPI;Initial Catalog='" + ClsOverallVar.GetDBName() + "'";

            }
            else
            {
                strSource = "database=" + ClsOverallVar.GetDBName() + ";Server=" + ClsOverallVar.GetServerName() + ";uid=" + ClsOverallVar.GetServerId() + "; pwd=" + ClsOverallVar.GetServerPwd() + ";";
            }


            SqlConnection myConn = new SqlConnection(strSource);
            myConn.Open();
            SqlCommand myCmd = new SqlCommand(sqlStr, myConn);
             i=   myCmd.ExecuteNonQuery();
            myConn.Close();

            return i;

        }

        public static Boolean DBExits()
        {
            String strSource = "Server=.\\SQLEXPRESS;integrated security=SSPI;Initial Catalog='" + ClsOverallVar.GetDBName() + "'";

            SqlConnection myConn1 = new SqlConnection(strSource);

            try


            {

                myConn1.Open();
                myConn1.Close();
                return true;
            }
            catch
            {
                return false;
            }
        }



        /// <summary>
        /// 数据库的附加操作
        /// </summary>      
        /// <param name="s_MdfPath">数据库Mdf文件的路径</param>
        /// <param name="s_LogPath">数据库Ldf文件的路径</param>
        public static Boolean DB_Additional(String s_MdfPath, string s_LogPath)
        {
            try
            {
                String strSource = "Server=.\\SQLEXPRESS;integrated security=SSPI;Initial Catalog=master";
                SqlConnection myConn = new SqlConnection(strSource);
                myConn.Open();
                String strSql;
                strSql = "IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'" + "mdMCS" + "')" + "beginEXEC sp_detach_db " + "mdMCS" + " end  " + "EXEC sp_attach_db @dbname = N'" + "mdMCS" + "'," + "@filename1 = N'" + s_MdfPath + "'," + "@filename2 = N'" + s_LogPath + "'";
                SqlCommand myCmd = new SqlCommand(strSql, myConn);
                myCmd.ExecuteNonQuery();
                return true;
            }
            catch
            {
                return false;
            }
        }

        public static DataTable GetDataTableByExcel(string s_Path, string s_TabName)


        {
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + s_Path + ";" + "Extended Properties=Excel 8.0;";
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            string strExcel = "";
            OleDbDataAdapter myCommand = null;
            DataSet ds = null;
            strExcel = "select * from [" + s_TabName + "]";
            myCommand = new OleDbDataAdapter(strExcel, strConn);
            ds = new DataSet();
            myCommand.Fill(ds, "table1");
            conn.Dispose();
            return ds.Tables[0];
        }
    }
}


[解决办法]
不建议直接使用DBHelper,可以以它为模板将Connection、Command等改写成与你的数据库对应的对象。
拿程序连接SQL Server来说,SqlConnection就比直接使用DbConnection好,因为前者应该是经过微软再次优化的。

热点排行