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 
|