您好,欢迎访问一九零五行业门户网

关于.net C# Sql数据库SQLHelper类实例代码

using system;
using system.collections.generic;
using system.text;
using system.collections;
using system.data.sqlclient;
using system.data;
using system.configuration;
public class sqlhelper
   {
       //取得数据库连接web.config 中配置 
       public static readonly string connectstring = configurationmanager.connectionstrings[dbstring].connectionstring;
/// <summary>
       /// 无事务,数据查询
       /// </summary>
       /// <param name="cmdtype">存储过程或sql语句</param>
       /// <param name="cmdtext">存储过程名或sql语句内容</param>
       /// <param name="commandparams">参数列表</param>
       /// <returns></returns>
       public static int executenonquery(commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           sqlcommand cmd = new sqlcommand();
sqlconnection conn = new sqlconnection(connectstring);
try
           {
               preparecommand(cmd, conn, null, cmdtype, cmdtext, commandparams);
               int val = cmd.executenonquery();
               cmd.parameters.clear();
               return val;
           }
           catch
           {
               throw;
           }
           finally
           {
               conn.close();
}
}
/// <summary>
       /// 有事务,数据操作类
       /// </summary>
       /// <param name="trans">事务</param>
       /// <param name="cmdtype">操作类别 (stored procedure,sql)</param>
       /// <param name="cmdtext">存储过程名或sql语句</param>
       /// <param name="commandparams">参数</param>
       /// <returns>返回影响的数据行数</returns>
       public static int executenonquery(sqltransaction trans, commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
sqlcommand cmd = new sqlcommand();
           preparecommand(cmd, trans.connection, trans, cmdtype, cmdtext, commandparams);
           /*if (cmdtype == commandtype.storedprocedure)
           {
               cmd.parameters.add(@return_value, ).direction = parameterdirection.returnvalue;
               cmd.executenonquery();
val = (int)cmd.parameters[@return_value].value;
           }
           else
               if (cmdtype==commandtype.text)
                {
                  val = cmd.executenonquery();
                 }*/
           int val = cmd.executenonquery();
           cmd.parameters.clear();
return val;
       }
/// <summary>
       /// 返回数据集 datareader
       /// </summary>
       /// <param name="cmdtype"></param>
       /// <param name="cmdtext"></param>
       /// <param name="commandparams"></param>
       /// <returns></returns>
       public static sqldatareader executereader(commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           sqlcommand cmd = new sqlcommand();
           sqlconnection conn = new sqlconnection(connectstring);
try
           {
               preparecommand(cmd, conn, null, cmdtype, cmdtext, commandparams);
               sqldatareader rdr = cmd.executereader(commandbehavior.closeconnection);
               cmd.parameters.clear();
               return rdr;
           }
           catch (exception ex)
           {
               conn.close();
               //   throw new exception(操作失败!);
               throw new exception(ex.message);
           }
       }
/// <summary>
       /// 有事务的取数据
       /// </summary>
       /// <param name="trans"></param>
       /// <param name="cmdtype"></param>
       /// <param name="cmdtext"></param>
       /// <param name="commandparams"></param>
       /// <returns></returns>
       public static sqldatareader executereader(sqltransaction trans, commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           sqlcommand cmd = new sqlcommand();
           preparecommand(cmd, trans.connection, trans, cmdtype, cmdtext, commandparams);
           sqldatareader rdr = cmd.executereader(commandbehavior.closeconnection);
           cmd.parameters.clear();
           return rdr;
       }
public static object executescalar(commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           sqlcommand cmd = new sqlcommand();
sqlconnection conn = new sqlconnection(connectstring);
try
           {
               preparecommand(cmd, conn, null, cmdtype, cmdtext, commandparams);
               object val = cmd.executescalar();
               cmd.parameters.clear();
               return val;
           }
           catch
           {
               throw;
           }
           finally
           {
               conn.close();
           }
}
public static object executescalar(sqltransaction trans, commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           sqlcommand cmd = new sqlcommand();
           preparecommand(cmd, trans.connection, trans, cmdtype, cmdtext, commandparams);
           object val = cmd.executescalar();
           cmd.parameters.clear();
           return val;
}
/// <summary>
       /// 根据sql语句取得表
       /// </summary>
       /// <param name="cmdtype"></param>
       /// <param name="cmdtext"></param>
       /// <param name="commandparams"></param>
       /// <returns></returns>
       public static datatable executetable(commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           datatable temptable = new datatable();
sqlcommand cmd = new sqlcommand();
sqlconnection conn = new sqlconnection(connectstring);
try
           {
               preparecommand(cmd, conn, null, cmdtype, cmdtext, commandparams);
sqldataadapter da = new sqldataadapter(cmd);
sqlcommandbuilder scb = new sqlcommandbuilder(da);
da.fill(temptable);
           }
           finally
           {
               conn.close();
           }
return temptable;
       }
public static datatable executetable(sqltransaction trans, commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           datatable temptable = new datatable();
           sqlcommand cmd = new sqlcommand();
preparecommand(cmd, trans.connection, trans, cmdtype, cmdtext, commandparams);
           sqldataadapter da = new sqldataadapter(cmd);
           sqlcommandbuilder scb = new sqlcommandbuilder(da);
           da.fill(temptable);
           cmd.parameters.clear();
return temptable;
}
/// <summary>
       /// 根据sql语句或存储过程取得数据
       /// </summary>
       /// <param name="cmdtype"></param>
       /// <param name="cmdtext"></param>
       /// <param name="commandparams"></param>
       /// <returns></returns>
       public static dataset executedataset(commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           sqlconnection conn = new sqlconnection(connectstring);
sqlcommand cmd = new sqlcommand();
dataset tempdataset = new dataset();
try
           {
               preparecommand(cmd, conn, null, cmdtype, cmdtext, commandparams);
               sqldataadapter sqladapter = new sqldataadapter(cmd);
               sqladapter.fill(tempdataset);
               cmd.parameters.clear();
               return tempdataset;
}
           finally
           {
               conn.close();
           }
}
public static dataset executedataset(sqltransaction trans, commandtype cmdtype, string cmdtext, params sqlparameter[] commandparams)
       {
           sqlcommand cmd = new sqlcommand();
           dataset tempdataset = new dataset();
           preparecommand(cmd, trans.connection, trans, cmdtype, cmdtext, commandparams);
           sqldataadapter sqladapter = new sqldataadapter(cmd);
           sqladapter.fill(tempdataset);
           cmd.parameters.clear();
           return tempdataset;
       }
/// <summary>
       /// 生成sql语句或准备
       /// </summary>
       /// <param name="cmd"></param>
       /// <param name="conn"></param>
       /// <param name="trans"></param>
       /// <param name="cmdtype"></param>
       /// <param name="cmdtext"></param>
       /// <param name="cmdparms"></param>
       private static void preparecommand(sqlcommand cmd, sqlconnection conn, sqltransaction trans, commandtype cmdtype, string cmdtext, sqlparameter[] cmdparms)
       {
if (conn.state != connectionstate.open)
               conn.open();
cmd.connection = conn;
           cmd.commandtext = cmdtext;
if (trans != null)
               cmd.transaction = trans;
cmd.commandtype = cmdtype;
if (cmdparms != null)
           {
               foreach (sqlparameter parm in cmdparms)
                   cmd.parameters.add(parm);
           }
       }
public static object todbvalue(object value)
       {
           return value == null ? dbnull.value : value;
       }
public static object fromdbvalue(object dbvalue)
       {
           return dbvalue == dbnull.value ? null : dbvalue;
       }
   }
以上就是关于.net c# sql数据库sqlhelper类实例代码的详细内容。
其它类似信息

推荐信息