专为新手写的数据库连接使用类,诚挚邀请大家多提宝贵意见

longjun1627 2008-01-12 02:01:42
说明:这个是专为新手(也是为了自己)写的一个数据库连接使用类,是正在完善更新的一个类,现在放出来的目的不是马上让大家使用,所以也没有把注解写的非常的详细.

声明:我写这个的目的主要为了锻炼自己,尽管我知道现在已经有很多类似的类了,但是我还是决定来写一个,诚望各位高手多提意见,多多指教,先谢了!

好了,废话少说了,下面帖代码
...全文
167 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
uffsai 2008-01-12
  • 打赏
  • 举报
回复
借鉴下,如果支持存储过程和事务就完美了
bwangel 2008-01-12
  • 打赏
  • 举报
回复
还有,不要加那么多Web的命名空间。这种基础类应该是B/S和C/S系统都能用的。估计你是把它放在App_Code里了。
bwangel 2008-01-12
  • 打赏
  • 举报
回复
有一定的参考价值。
不过最重要的,还要有带参数查询才好。
其实执行存储过程也是可和执行普通语句一样的,不需要另外加代码。
LikeCode 2008-01-12
  • 打赏
  • 举报
回复
顶部多余的命名空间尽量去掉,看着烦.



┍┥CSDN竹子专享签名功能┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│◆如果问题解决,请结贴,谢谢!                                              │
│◆不知道怎么结贴?请单击我。                                                │
│◆如有仍有其它问题,请继续顶贴。                                              │
│◆表跟竹子要QQ,它太烦了,LO{n+1}ONG TIME NO USE,密码都忘了,改用清爽的GOOGLE TALK!  │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
LikeCode 2008-01-12
  • 打赏
  • 举报
回复
应该将能返回受影响记录数的都返回



┍┥CSDN竹子专享签名功能┝━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│◆如果问题解决,请结贴,谢谢!                                              │
│◆不知道怎么结贴?请单击我。                                                │
│◆如有仍有其它问题,请继续顶贴。                                              │
│◆表跟竹子要QQ,它太烦了,LO{n+1}ONG TIME NO USE,密码都忘了,改用清爽的GOOGLE TALK!  │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
deepinnet 2008-01-12
  • 打赏
  • 举报
回复
补上存储过程,还有事务
最好用using 来自动释放资源
lc329857895 2008-01-12
  • 打赏
  • 举报
回复
我觉得很一般,
只能执行sql语句,存储过程怎么办?
levenwood 2008-01-12
  • 打赏
  • 举报
回复
抢个沙发^_^
longjun1627 2008-01-12
  • 打赏
  • 举报
回复
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.Data.SqlClient;
using System.Collections;

namespace Stm_DbBuild
{
public class DbBuilder
{
public DbBuilder()
{
}
//分别定义一个SqlConnection及SqlCommand对象,用于对数据库的操作
protected SqlConnection conn=new SqlConnection();
protected SqlCommand comm=new SqlCommand();

/// <summary>
/// 打开数据库连接1
/// </summary>
protected void OpenConnection()
{
CheckConnection();
}
/// <summary>
/// 检查数据库连接是否打开
/// </summary>
/// <returns>bool</returns>
public bool CheckConnection()
{
//如果数据连接是关闭的,则获取其连接字符串并打开
if (conn.State == ConnectionState.Closed)
{
try
{
//获取数据库连接字符串
conn.ConnectionString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
comm.Connection = conn;
conn.Open();//打开连接
}
catch (Exception)
{
return false;
}
}
return true;
}
/// <summary>
/// 关闭当前数据库连接
/// </summary>
protected void CloseConnection()
{
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
conn.Dispose();
comm.Dispose();
}
/// <summary>
/// 执行SQL查询语句
/// </summary>
/// <param name="sqlText">传入的SQL语句</param>
public void ExcuteSql(string sqlText)
{
try
{
OpenConnection();//打开数据库连接
comm.CommandType = CommandType.Text;
comm.CommandText = sqlText;
comm.ExecuteNonQuery();
}
catch (Exception e)
{
throw new Exception(e.Message);//抛出连接的异常信息
}
finally
{
CloseConnection();//关闭连接
}
}
public int ExcuteCmdSql(string sqlText)
{
try
{
OpenConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sqlText;
return comm.ExecuteNonQuery();//执行查询,并返回一整数,如果大于0,表示查询成功,否则表示失败
}
catch (Exception e)
{
throw new Exception(e.Message);
}
finally
{
CloseConnection();
}
return 1;
}
/// <summary>
/// 返回指定SQL语句的DataTable
/// </summary>
/// <param name="sqlText">传入的SQL语句</param>
/// <returns>DataTable</returns>
public DataTable GetDataTable(string sqlText)
{
SqlDataAdapter da = new SqlDataAdapter();
DataTable datatable = new DataTable();
try
{
OpenConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sqlText;
da.SelectCommand = comm;
da.Fill(datatable);
}
catch (Exception)
{
}
finally
{
CloseConnection();
}

return datatable;
}
/// <summary>
/// 返回指定SQL语句的DataSet
/// </summary>
/// <param name="sqlText">传入的SQL语句</param>
/// <returns>DataSet</returns>
public DataSet GetDataSet(string sqlText)
{
SqlDataAdapter da = new SqlDataAdapter();
DataSet dataset = new DataSet();
try
{
OpenConnection();
comm.CommandType = CommandType.Text;
comm.CommandText = sqlText;
da.SelectCommand = comm;
da.Fill(dataset);
}
catch (Exception)
{
}
finally
{
da.Dispose();
CloseConnection();//关闭连接
}

return dataset;
}

/// <summary>
/// 建立数据库连接方法2
/// 返回一个连接的对象
/// </summary>
/// <returns>SqlConnection</returns>
public SqlConnection GetSqlConn()
{
//获取连接到数据库的字符串
string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
SqlConnection conn1 = new SqlConnection(connStr);
conn1.Open();//打开数据库连接
return conn1;//返回连接对象
}

/// <summary>
/// 实例化SqlCommand对象
/// 返回一个SqlCommand对象
/// </summary>
/// <param name="sqlText">sql语句</param>
/// <returns>SqlCommand</returns>
public SqlCommand GetSqlComm(string sqlText)
{
return new SqlCommand(sqlText, GetSqlConn());//返回对象成员
}

/// <summary>
/// 执行sql语句进行数据查询
/// </summary>
/// <param name="sqlText">sql语句</param>
/// <returns></returns>
public int cmd(string sqlText)
{
comm = GetSqlComm(sqlText);//实例化一个执行对象
return comm.ExecuteNonQuery();//执行查询,并返回一整数,如果大于0,表示查询成功,否则表示失败
}
/// <summary>
/// 关闭连接2
/// </summary>
/// <param name="comm"></param>
public void CloseSqlCommand(SqlCommand comm)
{
comm.Connection.Close();
comm.Connection.Dispose();
comm.Dispose();
}
}
}
honey52570 2008-01-12
  • 打赏
  • 举报
回复
很久没用数据库连接这种类了
fcuandy 2008-01-12
  • 打赏
  • 举报
回复
下载个sqlhelper把不常用的东西去掉,就可以了.
longjun1627 2008-01-12
  • 打赏
  • 举报
回复
谢谢大家的支持,提出这么多很好的建议!
我会尽快将新版本帖出来!!
generaljiang 2008-01-12
  • 打赏
  • 举报
回复
楼主什么时候出新版本啊?
比如一键切换为ACCESS,MSSQL,MYSQL,ORACLE,
再比如弄成类库,到时候大家就各自using就好了

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧