很详细的注释了 !!! 记得要给分哈
废话少说 给你代码(C#代码和JAVA代码差不多)
[code="java"]
class DataBaseOperate
{
//声明 一个SqlConnection变量
SqlConnection conn;
private void OpenConn()
{
//实例化SqlConnection对象
conn = new SqlConnection();
}
//在配置文件里面拿取sqlconn字符串信息
conn.ConnectionString = ConfigurationManager.AppSettings["sqlconn"].ToString();
//打开数据库连接
conn.Open();
}
//关闭数据库
private void CloseConn()
{
//关闭数据库连接并释放资源
conn.Close();
conn.Dispose();
}
//根据sql语句获得一个DataSet
public DataSet GetDataSet(string Sql)
{
//打开数据库连接
OpenConn();
//实例化SqlDataAdapter
SqlDataAdapter da = new SqlDataAdapter(Sql, conn);
//实例化一个结果集DataSet
DataSet ds = new DataSet();
//fill方法装填结果集
da.Fill(ds);
//返回结果集
return ds;
//关闭数据库连接
CloseConn();
}
//根据sql语句获得一个DataTable
public DataTable ExecQuery(string Sql)
{
//打开数据库连接
OpenConn();
//实例化适配器SqlDataAdapter
SqlDataAdapter da = new SqlDataAdapter(Sql, conn);
//实例化一个DataTable
DataTable dt = new DataTable();
//装填DataTable
da.Fill(dt);
//返回DataTable
return dt;
//关闭数据库连接
CloseConn();
}
//根据sql语句获得一个单值字符串
public string GetSingleValueFromSql(string strSql)
{
//打开数据库连接
OpenConn();
//try代码块(可以捕获异常)
try
{
//创建SqlCommand对象
SqlCommand cmd = new SqlCommand(strSql, conn);
//执行cmd语句
string result = cmd.ExecuteScalar().ToString();
//返回执行结果
return result;
}
catch
{
return "";
}
//关闭数据库连接
CloseConn();
}
//根据sql语句执行非查询操作
public bool ExecNoQuery(string strSql)
{
//打开数据库连接
OpenConn();
try
{
//创建SqlCommand对象
SqlCommand cmd = conn.CreateCommand();
//设置cmd的CommandText (就是SQL语句)
cmd.CommandText = strSql;
//执行(最好把返回受影响行数给返回出去 大于0 return true)
cmd.ExecuteNonQuery();
//
return true;
}
catch
{
return false;
}
//关闭数据库连接
CloseConn();
}
//执行事务处理SQL
public bool ExecTSQL(string[] strSql)
{
//打开数据库连接
OpenConn();
//开启事务
SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
try
{
for (int i = 0; i < strSql.Length; i++)
{
if (strSql[i] == "" || strSql[i] == null) { continue; }
//用SqlConnection对象来创建SqlCommand
SqlCommand sqlCmd = conn.CreateCommand();
//设置该cmd的事务
sqlCmd.Transaction = trans;
//设置需要查询的sql语句
sqlCmd.CommandText = strSql[i];
//执行
sqlCmd.ExecuteNonQuery();
}
//提交事务
trans.Commit();
return true;
}
catch
{
//回滚事务
trans.Rollback();
return false;
}
finally
{
//最后关闭数据库连接 重置事务
trans = null;
CloseConn();
}
}
//执行存储过程
public bool ExecProc(string strProcName)
{
//打开数据库连接
OpenConn();
try
{
//创建SqlCommand对象
SqlCommand sqlCmd = conn.CreateCommand();
//设置cmd的类型(存储过程)
sqlCmd.CommandType = CommandType.StoredProcedure;
//把存储过程的名称赋给cmd内容(相当于SQL语句)
sqlCmd.CommandText = strProcName;
//执行cmd命令(即sql)
sqlCmd.ExecuteNonQuery();
return true;
}
catch
{
return false;
}
finally
{
CloseConn();
}
}
//执行带参存储过程
public void ExecProc(string strProcName, SqlParameter[] parameters)
{
//打开数据库连接
OpenConn();
try
{
//实例化SqlCommand对象
SqlCommand sqlCmd = conn.CreateCommand();
//声明存储过程名
sqlCmd.CommandText = strProcName;
//设置sqlCmd的CommandType
sqlCmd.CommandType = CommandType.StoredProcedure;
//迭代遍历存储过程需要的参数并添加
foreach (SqlParameter parameter in parameters)
{
sqlCmd.Parameters.Add(parameter);
}
//执行
sqlCmd.ExecuteNonQuery();
}
finally
{
//关闭连接
CloseConn();
}
}
}
[/code]