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

王朝asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有