内蒙古 其他
IT茶座,IT公司查询    
[搜索] [Google 站内搜索] 添加新公司    
数据库通用连接类
using System;
using System.Data ;
using System.Data.SqlClient ;
using System.Data.SqlTypes ;
using System.Windows.Forms ;
using System.Collections;
namespace Database
{
/// <summary>
/// Database 的摘要说明。
/// </summary>
public class Database
{
/// <summary>
/// 属性
/// </summary>
// public DataSet dataSet
// {
// get
// {
// return m_DataSet;
// }
//
// }
public Database()
{
//
// TODO: 在此处添加构造函数逻辑
//
XMLRead ConStr=new XMLRead();
if (ConStr.ReadAllConnectNode())
{
constr= ConStr.connstring ;
// try
// {
//
// Open();
// }
// catch(Exception Ex)
// {
// MessageBox.Show("数据库连接错误"+Ex.ToString () );
//
// }

}
else
{
constr="-1";
//throw new SqlErrorCollection();

}


}
// public bool Open()
// {
//
// mcn.ConnectionString = constr;
// try
// {
// mcn.Open();
//
// }
// catch( Exception)
// {
// return false;
// }
// return true;
// }
/// <summary>
/// 默认获取DataSet
/// </summary>
/// <param name="pMyTableName"></param>
/// <param name="tmpMyComputerName"></param>
/// <returns></returns>
// public virtual int getData (string pMyTableName ,string tmpMyComputerName)
// {
// return -1;
//
// }
#region ExecuteNonQuery

/// <summary>
/// 执行一个SQL Command(使用ConnectString)
/// </summary>
/// <param name="connString">ConnectString(Sql连接字符串)</param>
/// <param name="cmdType">Command类型</param>
/// <param name="cmdText">Command的语句(SQL语句)</param>
/// <param name="cmdParms">Command的参数(SqlParameter[]数组类型)</param>
/// <returns>Command的返回值(受影响的行数)</returns>

public int ExecuteNonQuery(string connString, CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();

using (SqlConnection conn = new SqlConnection(connString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}
/// <summary>
/// 执行一个SQL Command(使用隐含的ConnectString)
/// </summary>
/// <param name="cmdType">Command类型</param>
/// <param name="cmdText">Command的语句(SQL语句)</param>
/// <param name="cmdParms">Command的参数(SqlParameter[]数组类型)</param>
/// <returns>Command的返回值(受影响的行数)</returns>
public int ExecuteNonQuery(CommandType cmdType, string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();

using (SqlConnection conn = new SqlConnection(constr))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}

// public static int ExecuteNonQuery(string cmdText)
// {
// }

/// <summary>
/// 执行一个简单的查询, 只需要输入SQL语句, 一般用于更新或者删除
/// </summary>
/// <param name="sqlText"></param>
/// <returns></returns>
public int ExecuteNonQuery(string sqlText)
{
return ExecuteNonQuery(CommandType.Text,sqlText);
}

/// <summary>
/// 执行一个SQL Command(使用SqlTransaction)
/// </summary>
/// <param name="trans">使用的SqlTransaction</param>
/// <param name="cmdType">Command类型</param>
/// <param name="cmdText">Command的语句(SQL语句)</param>
/// <param name="cmdParms">Command的参数(SqlParameter[]数组类型)</param>
/// <returns>Command的返回值(受影响的行数)</returns>
public int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType,string cmdText, params SqlParameter[] cmdParms)
{
SqlCommand cmd = new SqlCommand();
PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, cmdParms);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}

/// <summary>
/// 根据指定DsCommandType类型,自动生成cmd执行dataset的更新
/// </summary>
/// <param name="connString">ConnectString(Sql连接字符串)</param>
/// <param name="cmdType">Command类型</param>
/// <param name="dsCommandType">Enum类型</param>
/// <param name="cmdText">Command的语句(SQL语句)</param>
/// <param name="dataset">dataset</param>
/// <param name="tablename">表名</param>
/// <param name="cmdParms">Command的参数(SqlParameter[]数组类型)</param>
/// <returns>是否更新成功</returns>
public bool ExecuteNonQuery(string connString,CommandType cmdType,CommandEnum.DsCommandType dsCommandType,string cmdText,DataSet dataset,string tablename,params SqlParameter[] cmdParms)
{
SqlDataAdapter dsCommand = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connString))
{
if (conn.State != ConnectionState.Open)
conn.Open();

cmd.Connection = conn;
cmd.CommandText = cmdText;
cmd.CommandType = cmdType;
if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
cmd.Parameters.Add(parm);
}
switch(dsCommandType)
{
case CommandEnum.DsCommandType.InsertCommand:
dsCommand.InsertCommand = cmd;
break;
case CommandEnum.DsCommandType.UpdateCommand:
dsCommand.UpdateCommand = cmd;
break;
case CommandEnum.DsCommandType.DeleteCommand:
dsCommand.DeleteCommand = cmd;
break;
default:break;
}
dsCommand.Update(dataset,tablename);
if ( dataset.HasErrors )
{
dataset.Tables[tablename].GetErrors()[0].ClearErrors();
return false;
}
else
{
dataset.AcceptChanges();
return true;
}
}

}
/// <summary>
/// 更新一个记录集(使用connString)
/// </summary>
/// <param name="connString">ConnectString(Sql连接字符串)</param>
/// <param name="cmdInsertType">commandInsert类型</param>
/// <param name="cmdInsertText">SQL语句(Insert)</param>
/// <param name="cmdUpdateType">commandUpdate类型</param>
/// <param name="cmdUpdateText">SQL语句(Update)</param>
/// <param name="cmdInsertType">commandDelete类型</param>
/// <param name="cmdDeleteText">SQL语句(Delete)</param>
/// <param name="cmdInsertParms">InsertCommand参数</param>
/// <param name="cmdUpdateParms">UpdateCommand参数</param>
/// <param name="cmdDeleteParms">DeleteCommand参数</param>
/// <param name="dataset">dataset</param>
/// <param name="tablename">表名</param>
/// <returns>是否更新成功</returns>
public bool UpdateDataset(string connString,CommandType cmdInsertType,string cmdInsertText,CommandType cmdUpdateType,string cmdUpdateText,CommandType cmdDeleteType,string cmdDeleteText,SqlParameter[] cmdInsertParms,SqlParameter[] cmdUpdateParms,SqlParameter[] cmdDeleteParms,DataSet dataset,string tablename)
{
SqlDataAdapter dsCommand = new SqlDataAdapter();
using (SqlConnection conn = new SqlConnection(connString))
{
if (conn.State != ConnectionState.Open)
conn.Open();
if(cmdInsertText != String.Empty)
{
SqlCommand cmdInsert = new SqlCommand();
cmdInsert.Connection = conn;
cmdInsert.CommandText = cmdInsertText;
cmdInsert.CommandType = cmdInsertType;
if (cmdInsertParms != null)
{
foreach (SqlParameter parm in cmdInsertParms)
cmdInsert.Parameters.Add(parm);
}
dsCommand.InsertCommand = cmdInsert;
}
if(cmdUpdateText != String.Empty)
{
SqlCommand cmdUpdate = new SqlCommand();
cmdUpdate.Connection = conn;
cmdUpdate.CommandText = cmdUpdateText;
cmdUpdate.CommandType = cmdUpdateType;
if (cmdUpdateParms != null)
{
foreach (SqlParameter parm in cmdUpdateParms)
cmdUpdate.Parameters.Add(parm);
}
dsCommand.Upd
关于我们 | 联系我们 | 服务条款 | 帮助中心 | 公司评论 | 会员注册
沪ICP证041070号 Copyright©2007 ITCups All rights Reserved