一个写好的dbhelper,想在defalut页引用,dbheler的代码如下,因为长度短息,简短写
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Data.OleDb;
using System.Data.Odbc;
using System.Data.Common;
namespace SQLServerDAL
{
    /// <summary>
    /// 用来创建DataBase对象的静态类
    /// </summary>
    public static class DBHelper
    {
        public static DataBase CreateData(string DataNameInConfigfile)
        {
            string pn = ConfigurationManager.ConnectionStrings[DataNameInConfigfile].ProviderName;  //读取配置文件
            string cs = ConfigurationManager.ConnectionStrings[DataNameInConfigfile].ConnectionString;            //下面判断数据库类型并创建相应的对象            if (pn.ToUpper().Contains("OLEDB"))
            {
                OleDbDataAdapter oledbda = new OleDbDataAdapter();
                oledbda.SelectCommand = new OleDbCommand();
                oledbda.SelectCommand.Connection = new OleDbConnection(cs);
                return new DataBase(oledbda);
            }
            if (pn.ToUpper().Contains("SQL"))
            {
                SqlDataAdapter sqlda = new SqlDataAdapter();
                sqlda.SelectCommand = new SqlCommand();
                sqlda.SelectCommand.Connection = new SqlConnection(cs);
                return new DataBase(sqlda);
            }
            if (pn.ToUpper().Contains("ODBC"))
            {
                OdbcDataAdapter odbcda = new OdbcDataAdapter();
                odbcda.SelectCommand = new OdbcCommand();
                odbcda.SelectCommand.Connection = new OdbcConnection(cs);
                return new DataBase(odbcda);
            }
            return null;
        }        public static DataBase CreateData(string ConnectionString, string ProviderName)
        {
            //以下判断数据库类型并创建相应的对象
            if (ProviderName.ToUpper().Contains("OLEDB"))
            {
                OleDbDataAdapter oledbda = new OleDbDataAdapter();
                oledbda.SelectCommand = new OleDbCommand();
                oledbda.SelectCommand.Connection = new OleDbConnection(ConnectionString);
                return new DataBase(oledbda);
            }
            if (ProviderName.ToUpper().Contains("SQL"))
            {
                SqlDataAdapter sqlda = new SqlDataAdapter();
                sqlda.SelectCommand = new SqlCommand();
                sqlda.SelectCommand.Connection = new SqlConnection(ConnectionString);
                return new DataBase(sqlda);
            }
            if (ProviderName.ToUpper().Contains("ODBC"))
            {
                OdbcDataAdapter odbcda = new OdbcDataAdapter();
                odbcda.SelectCommand = new OdbcCommand();
                odbcda.SelectCommand.Connection = new OdbcConnection(ConnectionString);
                return new DataBase(odbcda);
            }
            return null;
        }
    }    /// <summary>
    /// 执行主要操作的类
    /// </summary>
    public class DataBase
    {
        private DbDataAdapter mDataAdapter; //指向传入的DbDataAdapter的引用
        private DbCommand mCommand;  //指向传入的DbDataAdapter.SelectCommand的引用        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="DDA">获得一个实例化了的DbDataAdapter的派生类</param>
        public DataBase(DbDataAdapter DDA)
        {
            mDataAdapter = DDA;
            mCommand = DDA.SelectCommand;
        }        /// <summary>
        /// 判断一个stirng是否为储存过程
        /// </summary>
        /// <param name="SQLText">目标string</param>
        /// <returns>返回是否为储存过程的调用</returns>
        
        /// <summary>
        /// 执行数据库命令返回受影响的行数
        /// </summary>
        /// <param name="SQLText">SQL语句</param>
        /// <returns>受影响的行数</returns>
        
        /// <summary>
        /// 执行数据库命令返回DataReader
        /// </summary>
        /// <param name="SQLText">SQL命令</param>
        /// <returns>返回DataReader</returns>
       
        /// <summary>
        /// 执行统计的方法
        /// </summary>
        /// <param name="SQLText">SQL命令</param>
        /// <returns>返回object对象代表统计数据或者结果的第一列第一行</returns>
        
        /// <summary>
        /// 执行查询返回填充的DataSet对象
        /// </summary>
        /// <param name="SQLText">SQl命令</param>
        /// <param name="VisualTableName">虚拟表名</param>
        /// <param name="StartIndex">制定返回多少行以后的数据</param>
        /// <param name="Count">制定总共返回多少行</param>
        /// <returns>返回按要求填充了的DataSet</returns>
                //下面为重载调用,不包含实际代码
       
        /// <summary>
        /// 添加一个参数
        /// </summary>
        /// <param name="ParameterName">参数的名称</param>
        /// <param name="Value">参数的值</param>
        /// <param name="Type">参数值的类型</param>
        /// <param name="Size">参数值的大小</param>
        /// <param name="Direction">参数的返回类型</param>
        /// <returns>返回添加后的参数对象DbParameter</returns>
                //下面为重载调用,不包含实际代码        
                /// <summary>
        /// 清除DbParameterCollection中所有DbParameter的引用
        /// </summary>
           }
}
我原来的default页面写了 数据库链接代码,现在想用dbheler实现数据库的链接,怎么改?
我以前的defalut代码如下
SqlConnection mycon = new SqlConnection();
        mycon.ConnectionString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ToString();
        mycon.Open();
        SqlDataAdapter sda = new SqlDataAdapter();
        sda.SelectCommand = new SqlCommand("SELECT [id],[title],[n_content],[time] FROM [news]", mycon);
        DataSet ds = new DataSet();
        sda.Fill(ds,"news"); 
        Repeater.DataSource = ds.Tables["news"];
        Repeater.DataBind();
        mycon.Dispose();

解决方案 »

  1.   

    在项目中引入DBHelper所在的dll,然后在具体页面using 命名空间,代码中用DBHelper.方法()
      

  2.   

    是类吗?还是dll
    如果是类 using SQLServerDAL;就可以调用了
    如果是dll-在工程文件上右击-添加引用
      

  3.   

    using 命名空间,和 添加dll我都加完了,我是问,我的方法应该怎么写?
    DBHelper.CreateData("SELECT [id],[title],[n_content],[time] FROM [news]","sql");
    是这样?
    还DBHelper.CreateData("NorthwindConnectionString”)
    NorthwindConnectionString是 我webconfig里面的链接name
      

  4.   


    你CreateData方法用的重载。你需要哪个就传哪个参数就可以了。
      

  5.   


    你CreateData方法用的重载。你需要哪个就传哪个参数就可以了。
      

  6.   

    DBHelper.CreateData("connSQL", "System.Data.SqlClient");
                这样写对吗?
    这样就把数据库链接上了?
      

  7.   

    DataBase db = DBHelper.CreateData("connSQL");解决了
      

  8.   

    同一个命名空间下,调用SQLHelper.cs的方式
             /// <summary>
            /// 读取所有用户 , 返回Dataset
            /// </summary>
            /// <returns>DataSet</returns>
            public DataSet readAllUser()
            {
                //Select_User_All是存储过程名称,该村存储过程无输入参数
                return SqlHelper.ExecuteDataset(SqlHelper.ConnectionString, "Select_User_All");
            }