using system;
using system.data;
using system.data.sqlclient;
using system.configuration;
namespace admin.commonclass
{
/// <summary>
/// 连结数据库的类–opendb
/// </summary>
public class opendb
{
//获得连结数据库的字符串
private string strjet = configurationsettings.appsettings[“strconn”];
public opendb()
{
//
// todo: 在此处添加构造函数逻辑
//
}
#region 获得dataset
/// <summary>
/// 获得一个dataset,格式:getdataset(查询字段,查询表,条件字段,条件符号,条件值)
/// </summary>
/// <param name=”strzdname”></param>
/// <param name=”strtablename”></param>
/// <param name=”strwherevalue”></param>
/// <returns></returns>
public dataset getdataset(string strzdname,string strtablename,string strwherevalue)
{
//创建连结数据库的对象
sqlconnection myconn = new sqlconnection(strjet);
//创建adapter对象
sqldataadapter myadapter = new sqldataadapter(“sp_getdataset”,myconn);
//指明为存储过程
myadapter.selectcommand.commandtype = commandtype.storedprocedure;
//给存储过程的strzd变量赋值,即指明查询字段.
myadapter.selectcommand.parameters.add(“@zdname”,sqldbtype.char).value = strzdname;
//给存储过程的fromwhere变量赋值,即指明查询表.
myadapter.selectcommand.parameters.add(“@tablename”,sqldbtype.char).value = strtablename;
//给存储过程的wherevalue变量赋值,即指明查询条件.
myadapter.selectcommand.parameters.add(“@wherevalue”,sqldbtype.char).value = strwherevalue;
//创建dataset对象
dataset ds = new dataset();
//填充数据
myadapter.fill(ds,”strfromwhere”);
//返回一个dataset
return ds;
}
#endregion
#region 插入数据
/// <summary>
/// 插入数据,格式:insertdata(表名,字段名,字段值)
/// </summary>
/// <param name=”tablename”></param>
/// <param name=”zdname”></param>
/// <param name=”zdvalue”></param>
public void insertdata(string strtablename,string strzdname,string strzdvalue)
{
//创建连结数据库的对象
sqlconnection myconn = new sqlconnection(strjet);
//打开myconn
myconn.open();
//创建sqlcommand对象
sqlcommand mycmd = new sqlcommand(“insertdata”,myconn);
//指明是存储过程
mycmd.commandtype = commandtype.storedprocedure;
//添加存储过程参数
mycmd.parameters.add(“@tablename”,sqldbtype.char);
mycmd.parameters.add(“@zdname”,sqldbtype.char);
mycmd.parameters.add(“@zdvalue”,sqldbtype.char);
//给存储过程变量赋值
mycmd.parameters[“@tablename”].value = strtablename;
mycmd.parameters[“@zdname”].value = strzdname;
mycmd.parameters[“@zdvalue”].value = strzdvalue;
//执行命令操作
mycmd.executenonquery();
}
#endregion
#region 修改数据
/// <summary>
/// 修改数据,格式:updatedata(表名,字段赋值,条件语句)
/// </summary>
/// <param name=”strtablename”></param>
/// <param name=”strzdname”></param>
/// <param name=”strzdvalue”></param>
public void updatedata(string strtablename,string strzdname,string strwherevalue)
{
//创建连结数据库的对象
sqlconnection myconn = new sqlconnection(strjet);
//打开myconn
myconn.open();
//创建sqlcommand对象
sqlcommand mycmd = new sqlcommand(“updatedata”,myconn);
//指明是存储过程
mycmd.commandtype = commandtype.storedprocedure;
//添加存储过程参数
mycmd.parameters.add(“@tablename”,sqldbtype.char);
mycmd.parameters.add(“@zdname”,sqldbtype.char);
mycmd.parameters.add(“@wherevalue”,sqldbtype.char);
//给存储过程变量赋值
mycmd.parameters[“@tablename”].value = strtablename;
mycmd.parameters[“@zdname”].value = strzdname;
mycmd.parameters[“@wherevalue”].value = strwherevalue;
//执行命令操作
mycmd.executenonquery();
}
#endregion
#region 删除数据
/// <summary>
/// 删除数据,格式:deletedata(表名,删除条件)
/// </summary>
/// <param name=”strtablename”></param>
/// <param name=”strwherevalue”></param>
public void deletedata(string strtablename,string strwherevalue)
{
//创建连结数据库的对象
sqlconnection myconn = new sqlconnection(strjet);
//打开myconn
myconn.open();
//创建sqlcommand对象
sqlcommand mycmd = new sqlcommand(“deletedata”,myconn);
//指明是存储过程
mycmd.commandtype = commandtype.storedprocedure;
//添加存储过程参数
mycmd.parameters.add(“@tablename”,sqldbtype.char);
mycmd.parameters.add(“@wherevalue”,sqldbtype.char);
//给存储过程变量赋值
mycmd.parameters[“@tablename”].value = strtablename;
mycmd.parameters[“@wherevalue”].value = strwherevalue;
//执行命令操作
mycmd.executenonquery();
}
#endregion
}
}
存储过程如下:
1.插入数据的存储过程
create procedure [inserttotable]
(
–@tablename为要插入的表名
@tablename [char](50),
–@zdname为字段名
@zdname [char](255),
–@zdvalue为字段的值
@zdvalue [char](255)
)
as
exec( insert into + @tablename + ( + @zdname + ) values( + @zdvalue + ) )
go
2.修改数据的存储过程
create procedure [updatedata]
(
–@tablename为要修改记录的表名
@tablename [char](50),
–@zdname为字段名
@zdname [char](255),
–@wherevalue为字段的值
@wherevalue [char](255)
)
as
exec( update + @tablename + set + @zdname +where + @wherevalue )
go
3.删除数据的存储过程
create procedure [deletedata]
(
–@tablename为要删除数据的表名
@tablename [char](50),
–@wherevalue为删除条件
@wherevalue [char](255)
)
as
exec( delete from + @tablename + where + @wherevalue )
go