最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
asp.net数据库连接类
时间:2022-06-25 05:36:06 编辑:袖梨 来源:一聚教程网
asp教程.net数据库教程连接类
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>
http://www.111com.net/1999/xhtml">
private SqlCommand CreateCommand(string ProcName, SqlParameter[] Prams)
{
Open();
SqlCommand Cmd = new SqlCommand(ProcName, Connection);
Cmd.CommandType = CommandType.StoredProcedure;
if (Prams != null)
{
foreach (SqlParameter Parameter in Prams)
Cmd.Parameters.Add(Parameter);
}
return Cmd;
}
//公有方法,实例化一个用于调用存储过程的参数
//输入:
// ParamName - 参数名称
// DbType - 参数类型
// Size - 参数大小
// Direction - 传递方向
// Value - 值
public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter Param;
if (Size > 0)
Param = new SqlParameter(ParamName, DbType, Size);
else Param = new SqlParameter(ParamName, DbType);
Param.Direction = Direction;
if (Value != null)
Param.Value = Value;
return Param;
}
//公有方法,实例化一个用于调用存储过程的输入参数
//输入:
// ParamName - 参数名称
// DbType - 参数类型
// Size - 参数大小
// Value - 值
public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
{
return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
}
//公有方法,调用存储过程(不带参数)
//输入:
// ProcName存储过程名
//输出:
// 对Update、Insert、Delete操作返回影响到的行数,其他情况为-1
public int RunProc(string ProcName)
{
int Count = -1;
SqlCommand Cmd = CreateCommand(ProcName, null);
Count = Cmd.ExecuteNonQuery();
Close();
return Count;
}
//公有方法,调用存储过程(带参数)
//输入:
// ProcName - 存储过程名
// Params - 用来调用存储过程的参数表
//输出:
// 对Update、Insert、Delete操作返回影响到的行数,其他情况为-1
public int RunProc(string ProcName, SqlParameter[] Params)
{
int Count = -1;
SqlCommand Cmd = CreateCommand(ProcName, Params);
Count = Cmd.ExecuteNonQuery();
Close();
return Count;
}
//公有方法,调用存储过程(不带参数)
//输入:
// ProcName存储过程名
//输出:
// 将执行结果以SqlDataReader返回
//注意:使用后主意调用SqlDataReader.Close()方法
public SqlDataReader RunProcGetReader(string ProcName)
{
SqlCommand Cmd = CreateCommand(ProcName, null);
return Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
//公有方法,调用存储过程(不带参数)
//输入:
// ProcName存储过程名
//输出:
// 将执行结果以SqlDataReader返回
//注意:使用后主意调用SqlDataReader.Close()方法
public string RunProcGetScalar(string ProcName, SqlParameter[] Params)
{
SqlCommand Cmd = CreateCommand(ProcName, Params);
//SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
//DataSet dataset = new DataSet();
//adapter.Fill(dataset);
//Close();
//return dataset;
return Convert.ToString(Cmd.ExecuteScalar());
}
//公有方法,调用存储过程(带参数)
//输入:
// ProcName - 存储过程名
// Params - 存储过程需要的参数
//输出:
// 将执行结果以SqlDataReader返回
//注意:使用后主意调用SqlDataReader.Close()方法
public SqlDataReader RunProcGetReader(string ProcName, SqlParameter[] Params)
{
SqlCommand Cmd = CreateCommand(ProcName, Params);
return Cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
}
//公有方法,调用存储过程(带参数)
//输入:
// ProcName - 存储过程名
// Params - 存储过程需要的参数
//输出:
// 将执行结果以SqlDataReader返回
//注意:使用后主意调用SqlDataReader.Close()方法
public int RunProcGetCount(string ProcName, SqlParameter[] Params)
{
SqlCommand Cmd = CreateCommand(ProcName, Params);
string SCount;
SCount = Cmd.ExecuteScalar().ToString().Trim();
if (SCount == "")
SCount = "0";
Close();
return Convert.ToInt32(SCount);
}
//公有方法,调用存储过程(不带参数)
//输入:
// ProcName存储过程名
//输出:
// 将执行结果以DataSet返回
public DataSet GetDataSet(string ProcName, SqlParameter[] Params)
{
//Open();
SqlCommand Cmd = CreateCommand(ProcName, Params);
SqlDataAdapter adapter = new SqlDataAdapter(Cmd);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
Close();
return dataset;
}
//公有方法,根据Sql语句,返回一个结果数据集
public DataSet GetDataSetSql(string XSqlString)
{
Open();
SqlDataAdapter Adapter = new SqlDataAdapter(XSqlString, Connection);
DataSet Ds = new DataSet();
Adapter.Fill(Ds);
Close();
return Ds;
}
//公有方法,根据Sql语句,插入记录
public int Insert(string XSqlString)
{
int Count = -1;
Open();
SqlCommand cmd = new SqlCommand(XSqlString, Connection);
Count = cmd.ExecuteNonQuery();
Close();
return Count;
}
//公有方法,根据Sql语句,插入记录并返回生成的ID号
public int GetIDInsert(string XSqlString)
{
int Count = -1;
Open();
SqlCommand cmd = new SqlCommand(XSqlString, Connection);
Count = int.Parse(cmd.ExecuteScalar().ToString().Trim());
Close();
return Count;
}
}
}
数据库连接类二
public bool GetRecord(string XSqlString)
{
Open();
SqlDataAdapter adapter = new SqlDataAdapter(XSqlString, Connection);
DataSet dataset = new DataSet();
adapter.Fill(dataset);
Close();
if (dataset.Tables[0].Rows.Count > 0)
{
return true;
}
else
{
return false;
}
}
//公有方法,返回Sql语句获得的数据值
//SqlString的格式:select count(*) from XXX where ...
// select max(XXX) from YYY where ...
public int GetRecordCount(string XSqlString)
{
string SCount;
Open();
SqlCommand Cmd = new SqlCommand(XSqlString, Connection);
SCount = Cmd.ExecuteScalar().ToString().Trim();
if (SCount == "")
SCount = "0";
Close();
return Convert.ToInt32(SCount);
}
//公有方法,根据XWhere更新数据表XTableName中的某些纪录
//XTableName--表名
//XHT--哈希表,键为字段名,值为字段值
public DataSet AdvancedSearch(string XTableName, Hashtable XHT)
{
int Count = 0;
string Fields = "";
foreach (DictionaryEntry Item in XHT)
{
if (Count != 0)
{
Fields += " and ";
}
Fields += Item.Key.ToString();
Fields += " like '%";
Fields += Item.Value.ToString();
Fields += "%'";
Count++;
}
Fields += " ";
string SqlString = "select * from " + XTableName + " where " + Fields;
Open();
SqlDataAdapter Adapter = new SqlDataAdapter(SqlString, Connection);
DataSet Ds = new DataSet();
Adapter.Fill(Ds);
Close();
return Ds;
}
//私有方法,获得一个用来调用存储过程的SqlCommand
//输入:
// ProcName - 存储过程名
// Params - 用来调用存储过程的参数表
支持同一种数据库中的不同数据库名(如SQL Server中的两个数据库:Test1,Test2)
public static class DBHelper
{
public static connString="连接一";
public static DataSet Query(string sql)
{
.................
return ds;
}
.................
}
public class DBHelperA
{
public connString = "连接二";
public DataSet Query(string sql)
{
.................
return ds;
}
.................
}
相关文章
- 《燕云十六声》配置要求介绍 12-25
- 《燕云十六声》搬砖介绍 12-25
- 时空中的绘旅人天宇之间怎么玩 绘旅人天宇之间活动玩法介绍 12-25
- QQ2024年度报告怎么看 2024qq年度报告玩法介绍 12-25
- 归龙潮珠砂什么时候up 归龙潮红缘绮梦卡池介绍 12-25
- 王者荣耀S38赛季有什么更新 12-25