C#数据库操作

using Sqystem.Data;
using System.Data.SqlClient;
using System.Configuration;
//引用一个库Ststem.configuration
//修改根目录的web.config文件
<configuration>//最外层节点
......
<connectionStrings>
<add name="connString" connectionString = "Sqerver=.;DataBase=StudentManage;Uid=sa;Pwd=scale2018@">
</connectionStrings>
......
</configuration>
//数据库通用访问类
class  SQLHelper
{
	//数据库连接字符串
	private  static string connString = ConfigurationManager.ConnectionStrings["connString"].ToString();

	//写入日志文件
	public  void  WriteLog(string msg)
	{
		FileStream fs = FileStream("1.log",fileMode.Append);
		StreamWriter sw = new StreamWriter(fs);
		sw.writeLine(DateTime.Now.ToString()+" "+ msg);
		sw.Close();
		fs.Close();
	}
	//数据库更新
	public static int Update(string sql)
	{
		SqlConnection conn = new SqlConnection(connString);
		SqlConnection cmd = new SqlCommand(sql,conn);
		try
		{
			conn.Open();
			return  cmd.ExecuteNoQuery();
		}
		catch(Exception ex)
		{
			WriteLog("执行更新时发生异常"+ex.Message);
			throw ex;
		}
		finally
		{
			conn.Close();
		}
	}
	public  static object GetSingleResult(string sql)
	{
		Sqlconnection conn = new SqlConnection(connString);
		SqlCommand  cmd = new SqlCommand(sql,conn);
		try
		{
			conn.Open();
			return cmd.ExecuteScalar();
		}
		catch(Exception ex)
		{
			WriteLog("执行单一结果查询"+ex.message);
			throw ex;
		}
		finally
		{
			conn.Close();
		}
	}
	//返回结果集
	public  static SqlDataReader  GetReader(string sql)
	{
		SqlConnection conn = new SqlConnection(connString);
		SqlCommand    cmd  = new SqlCommand(sql,conn);
		try
		{
			conn.Open();
			retrun cmd.ExecuteReader(CommandBehavior.CloseConnection);//不能在此关闭连接
		}
		catch(Exception ex)
		{
			WriteLog("读取结果集发生异常"+ex.message);
			throw ex;
		}
	}

	//带参数的存储过程
	public static int Update(string sqlOrProcedureName,SqlParameter[]param,bool isProcedure)
	{
		SqlConnection conn = new SqlConnection(connString);
		SqlConnection cmd = new SqlCommand(sqlOrProcedureName,conn);
		if(isProcedure)
		{
			 cmd.CommandType = CommmandType.StoredProcedure;
		}
		try
		{
			conn.Open();
			cmd.Parameters.AddRang(param);
			return  cmd.ExecuteNoQuery();
		}
		catch(Exception ex)
		{
			WriteLog("执行更新时发生异常"+ex.Message);
			throw ex;
		}
		finally
		{
			conn.Close();
		}
	}
}


猜你喜欢

转载自blog.51cto.com/9233403/2298089