我的连结数据库的类(原创)

类别:Asp 点击:0 评论:0 推荐:

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

本文地址:http://com.8s8s.com/it/it7369.htm