DBHelper 使用问题
新手,莫见笑。我想 用dbhelper 实现操作数据库的类,然后default页面调用这个类
webconfig 代码 是
<appSettings/>
<connectionStrings>
<add name="NorthwindConnectionString" connectionString="server=.;DataBase=xin;uid=sa;pwd=123;" providerName="System.Data.SqlClient" />
</connectionStrings>
dbhelper的代码是从别人项目里直接粘贴过来的,dbhelper的代码太长,我删除掉了后面的一部分。我不知道怎么使用
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>
public void ClearParameters()
{
mCommand.Parameters.Clear();
}
public DbParameterCollection Parameters
{
get { return mCommand.Parameters; }
}
public DbCommand Command
{
get { return mCommand; }
}
public DbDataAdapter DataAdapter
{
get { return mDataAdapter; }
}
}
}
然后我想在defalut页调用dbhelper
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
namespace web
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
getBind();
}
private void getBind()
{
DBHelper db=new DBHelper();
}
}
}
提示我缺少 错误1找不到类型或命名空间名称“DBHelper”(是否缺少 using 指令或程序集引用?)G:\repeater2\repeater\web\Default.aspx.cs259web
[解决办法]
还需要在Reference..里对dll引用