一个写好的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();
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();
解决方案 »
- HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
- ASP很见到的查询语句居然会导致缓冲区
- 怎样用session做累加
- 100分 高手进 asp.net后台静态方法怎么调用非静态方法
- 问几个简单的问题?
- VS2005用的超熟的进来看看!!!关于gridview自带的分页的样式问题????
- 问大家个问题。。。
- 如何跟据时间查询?谢谢
- 插入数据问题(郁闷中)
- 为什么我通过odbc访问数据库的时候提示ADOConnection没有定义?
- 应用程序中的服务器错误 如何解决?
- 用Request.SaveAs接收保存二进制,大字节的接收不到,如何判断一下?
如果是类 using SQLServerDAL;就可以调用了
如果是dll-在工程文件上右击-添加引用
DBHelper.CreateData("SELECT [id],[title],[n_content],[time] FROM [news]","sql");
是这样?
还DBHelper.CreateData("NorthwindConnectionString”)
NorthwindConnectionString是 我webconfig里面的链接name
你CreateData方法用的重载。你需要哪个就传哪个参数就可以了。
你CreateData方法用的重载。你需要哪个就传哪个参数就可以了。
这样写对吗?
这样就把数据库链接上了?
/// <summary>
/// 读取所有用户 , 返回Dataset
/// </summary>
/// <returns>DataSet</returns>
public DataSet readAllUser()
{
//Select_User_All是存储过程名称,该村存储过程无输入参数
return SqlHelper.ExecuteDataset(SqlHelper.ConnectionString, "Select_User_All");
}