数据访问类:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Runtime.InteropServices;
using System.Text;
using System.Data.SqlClient;
/// <summary>
/// Base 的摘要说明
/// </summary>
public class Base
{
//写入Ini文件API函数
[DllImport("kernel32")]
private static extern bool WritePrivateProfileString(string lpApplicationName, string lpKeyName, string lpString, string lpFileName);
//读取Ini文件API函数
[DllImport("kernel32")]
public static extern bool GetPrivateProfileString(string lpApplicationName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
public string connectionstring="";
public SqlConnection conn;
Code code = new Code();
public Base()
{
this.GetConnectionstring();
conn = new SqlConnection(connectionstring);
}
//获取数据库连接字符串
private void GetConnectionstring()
{
string file_name =HttpContext.Current.Server.MapPath("set.ini");
string server_ip = "";
string server_name = "";
string server_pwd = "";
StringBuilder sb = new StringBuilder(30);
GetPrivateProfileString("ip", "server_ip", "", sb, sb.Capacity, file_name);
server_ip =code.Decrypt3DES(sb.ToString().Trim());
sb = new StringBuilder(30);
GetPrivateProfileString("name", "server_name", "", sb, sb.Capacity, file_name);
server_name =code.Decrypt3DES(sb.ToString().Trim());
sb = new StringBuilder(30);
GetPrivateProfileString("pwd", "server_pwd", "", sb, sb.Capacity, file_name);
server_pwd =code.Decrypt3DES(sb.ToString().Trim());
connectionstring = "server=" + server_ip + ";database=wsbm;user id=" + server_name + ";pwd=" + server_pwd + ";MAx pool size=100";
}
//判断数据库连接是否可用
public bool IsDataServer()
{
try
{
conn.Open();
conn.Close();
return true;
}
catch
{
return false;
}
finally
{
if(conn.State==ConnectionState.Open)
{
conn.Close();
}
}
}
//执行select语句
public DataSet ExecSelect(string sql, string table)
{
conn.Open();
SqlDataAdapter adap = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
try
{
ds.Clear();
if (table != "")
{
adap.Fill(ds, table);
return ds;
}
else
{
adap.Fill(ds);
return ds;
}
}
catch (SqlException ex)
{
throw (new Exception(ex.Message));
}
finally
{
ds.Dispose();
adap.Dispose();
conn.Close();
}
}
//执行insert,delete,update语句
public bool ExecTransact(string str_sql)
{
conn.Open();
SqlCommand cmd = new SqlCommand(str_sql, conn);
try
{
int i = cmd.ExecuteNonQuery();
if (i > 0)
{
return true;
}
else
{
return false;
}
}
catch (SqlException ex)
{
throw (new Exception(ex.Message));
}
finally
{
cmd.Dispose();
conn.Close();
}
}
//判断是记录否存在,返回布尔
public bool ExecIsRecord(string str_sql)
{
conn.Open();
SqlCommand cmd = new SqlCommand(str_sql, conn);
try
{
SqlDataReader read = cmd.ExecuteReader();
if (read.HasRows)
{
return true;
}
else
{
return false;
}
}
catch (SqlException ex)
{
throw (new Exception(ex.Message));
}
finally
{
cmd.Dispose();
conn.Close();
}
}
//使用事务处理,删除考试级别
public bool Del_ksjb(string sql1, string sql2,string sql3)
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
SqlTransaction trans;
trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Connection = conn;
cmd.Transaction = trans;
try
{
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
cmd.CommandText = sql2;
cmd.ExecuteNonQuery();
cmd.CommandText = sql3;
cmd.ExecuteNonQuery();
trans.Commit();
return true;
}
catch (Exception e)
{
try
{
trans.Rollback();//回滚事务
}
catch (System.Data.SqlClient.SqlException ex)//回滚失败的处理
{
if (trans.Connection != null)
{
throw (new Exception("一个异常: " + ex.GetType() +
"在执行事务回滚操作时发生"));
}
}
throw (new Exception(e.Message));
return false;
}
finally
{
conn.Close();
}
}
//使用事务处理,删除考试专业
public bool Del_kszy(string sql1, string sql2)
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
SqlTransaction trans;
trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Connection = conn;
cmd.Transaction = trans;
try
{
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
cmd.CommandText = sql2;
cmd.ExecuteNonQuery();
trans.Commit();
return true;
}
catch (Exception e)
{
try
{
trans.Rollback();//回滚事务
}
catch (System.Data.SqlClient.SqlException ex)//回滚失败的处理
{
if (trans.Connection != null)
{
throw (new Exception("一个异常: " + ex.GetType() +
"在执行事务回滚操作时发生"));
}
}
throw (new Exception(e.Message));
return false;
}
finally
{
conn.Close();
}
}
//使用事务处理,删除考试内容
public bool Del_ksnr(string sql1, string sql2,string sql3,string sql4,string sql5,string sql6)
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
SqlTransaction trans;
trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Connection = conn;
cmd.Transaction = trans;
try
{
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
cmd.CommandText = sql2;
cmd.ExecuteNonQuery();
cmd.CommandText = sql3;
cmd.ExecuteNonQuery();
cmd.CommandText = sql4;
cmd.ExecuteNonQuery();
cmd.CommandText = sql5;
cmd.ExecuteNonQuery();
cmd.CommandText = sql6;
cmd.ExecuteNonQuery();
trans.Commit();
return true;
}
catch (Exception e)
{
try
{
trans.Rollback();//回滚事务
}
catch (System.Data.SqlClient.SqlException ex)//回滚失败的处理
{
if (trans.Connection != null)
{
throw (new Exception("一个异常: " + ex.GetType() +
"在执行事务回滚操作时发生"));
}
}
throw (new Exception(e.Message));
return false;
}
finally
{
conn.Close();
}
}
//使用事务处理,同时执行3条语句
public bool ExecTransact_3(string sql1, string sql2,string sql3)
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
SqlTransaction trans;
trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Connection = conn;
cmd.Transaction = trans;
try
{
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
cmd.CommandText = sql2;
cmd.ExecuteNonQuery();
cmd.CommandText = sql3;
cmd.ExecuteNonQuery();
trans.Commit();
return true;
}
catch (Exception e)
{
try
{
trans.Rollback();//回滚事务
}
catch (System.Data.SqlClient.SqlException ex)//回滚失败的处理
{
if (trans.Connection != null)
{
throw (new Exception("一个异常: " + ex.GetType() +
"在执行事务回滚操作时发生"));
}
}
throw (new Exception(e.Message));
return false;
}
finally
{
conn.Close();
}
}
//使用事务处理,同时执行2条语句
public bool ExecTransact_2(string sql1, string sql2)
{
conn.Open();
SqlCommand cmd = conn.CreateCommand();
SqlTransaction trans;
trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Connection = conn;
cmd.Transaction = trans;
try
{
cmd.CommandText = sql1;
cmd.ExecuteNonQuery();
cmd.CommandText = sql2;
cmd.ExecuteNonQuery();
trans.Commit();
return true;
}
catch (Exception e)
{
try
{
trans.Rollback();//回滚事务
}
catch (System.Data.SqlClient.SqlException ex)//回滚失败的处理
{
if (trans.Connection != null)
{
throw (new Exception("一个异常: " + ex.GetType() +
"在执行事务回滚操作时发生"));
}
}
throw (new Exception(e.Message));
return false;
}
finally
{
conn.Close();
}
}
}
加密类:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Security.Cryptography;//加密
using System.Text;
/// <summary>
/// Code 的摘要说明
/// </summary>
public class Code
{
public Code()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
//3des加密
public string Encrypt3DES(string strString)
{
string strKey = "malong";
TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider hashMD5 = new MD5CryptoServiceProvider();
DES.Key = hashMD5.ComputeHash(Encoding.ASCII.GetBytes(strKey));
DES.Mode = CipherMode.ECB;
ICryptoTransform DESEncrypt = DES.CreateEncryptor();
byte[] Buffer = Encoding.ASCII.GetBytes(strString);
return Convert.ToBase64String(DESEncrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
}
//解密
public string Decrypt3DES(string strString)
{
string strKey = "malong";
TripleDESCryptoServiceProvider DES = new TripleDESCryptoServiceProvider();
MD5CryptoServiceProvider hashMD5 = new MD5CryptoServiceProvider();
DES.Key = hashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(strKey));
DES.Mode = CipherMode.ECB;
ICryptoTransform DESDecrypt = DES.CreateDecryptor();
string result = "";
try
{
byte[] Buffer = Convert.FromBase64String(strString);
result = ASCIIEncoding.ASCII.GetString(DESDecrypt.TransformFinalBlock(Buffer, 0, Buffer.Length));
}
catch (System.Exception e)
{
throw (new System.Exception("null", e));
}
return result;
}
//md5加密
public string EncryptMD5(string str)
{
MD5CryptoServiceProvider hashMD5 = new MD5CryptoServiceProvider();
string s=ASCIIEncoding.ASCII.GetString(hashMD5.ComputeHash(ASCIIEncoding.ASCII.GetBytes(str)));
return s;
}
}