一个不知道是不是很笨的MS SQL数据库连接类

简介:

斗胆发篇东西在首页……写得不好,还请大家多多包涵……

原文网址:http://www.blogwind.com/Wuvist/comment.aspx?Article_id=3786
 



我实在是有点自虐了……本来很简单的一个project……就是要做一个online shopping的网站而已……我却将其复杂若干倍……弄成一个portal……整个东西完全的模块化……还支持模板替换……带留言板之类的……哎……根本就是一个 DotNetNuke的幼稚模仿版……要是做不完,也是我找苦吃……

 

老实说,我觉得……这个project已经比整个blogwind要复杂了……

一直都很讨厌写重复的代码……特别是与数据库有关的东西……总是反复的读取数据库连接字符串……打开数据库连接……声明新的数据命令……新dataadapter等等……

我暂时还没法向DotNetNuke一样去使用Factory Design Pattern……自己自作聪明的写了下面一个类conn:
 

 

imports System.Data.SqlClient
Public Class conn
Private conn As SqlConnection
Public cmd As SqlCommand
Public Sub New()
Dim configurationAppSettings As System.Configuration.AppSettingsReader = New System.Configuration.AppSettingsReader
conn = New SqlConnection(CType(configurationAppSettings.GetValue("ConnectionString", GetType(System.String)), String))
conn.Open()
End Sub

Public Function close()
If conn.State = ConnectionState.Open Then
conn.Close()
End If
End Function

Public Function exe(ByVal sql As String)
Dim cmd As New SqlCommand(sql, conn)
cmd.ExecuteNonQuery()
cmd.Dispose()
End Function

Public Function retrieve(ByVal sql As StringByVal name As StringAs DataTable
Dim comm As SqlDataAdapter
comm = New SqlDataAdapter(sql, conn)
Dim ds As New DataTable
comm.Fill(ds)
comm.Dispose()
Return ds
End Function
Public Function newcmd(ByVal sql As String)
cmd = New SqlCommand(sql, conn)
cmd.CommandType = CommandType.StoredProcedure
End Function
End Class

这个类应该还是会慢慢的扩展……我知道有sqlhelper之类的东西……但是,一直没有心情去学习……不知道写这么个类是不是在重复sqlhelper的功能……

有了这个东西……我就在也不用在所有的页面里面重复跟数据库有关的东西了……连imports System.Data.SqlClient都不用……

全部一上来就 dim cn as New conn……

如果要执行NonQuery的sql命令……便cn.exe(sql)……

要获得一个表则dim dt as DataTable, 然后dt = cn.retrieve(sql, tablename)

要执行存储过程的话,则cn.newcmd(sp name),然后,便可以对cn.cmd添加各个parameters啥的……

我不敢说这样子很爽……但是……比起我一开始在写blogwind的时候,是舒服很多了……

我不知道有没有可能通过重写这个类来实现数据库通用……而不需要更改其它部分的程序……也许可以吧……至少我并没有在其他部分程序里面import SqlClient……使用的东西,也都是database independent的……

什么时候闲得发慌了……我就去写Access/mysql/oracle等的conn类……然后看看是否可以直接替换……嘿嘿……

 



本文转自 Wuvist 51CTO博客,原文链接:http://blog.51cto.com/wuvist/847765

相关文章
|
2天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
13天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
52 10
|
30天前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
90 0
|
1月前
|
SQL 安全 数据库
SQL-Server 数据库部署
SQL-Server 数据库部署
63 0
|
1月前
|
SQL 数据库 数据安全/隐私保护
Sql Server数据库Sa密码如何修改
Sql Server数据库Sa密码如何修改
|
1月前
|
SQL 数据库 C#
C# .NET面试系列十一:数据库SQL查询(附建表语句)
#### 第1题 用一条 SQL 语句 查询出每门课都大于80 分的学生姓名 建表语句: ```sql create table tableA ( name varchar(10), kecheng varchar(10), fenshu int(11) ) DEFAULT CHARSET = 'utf8'; ``` 插入数据 ```sql insert into tableA values ('张三', '语文', 81); insert into tableA values ('张三', '数学', 75); insert into tableA values ('李四',
65 2
C# .NET面试系列十一:数据库SQL查询(附建表语句)
|
1月前
|
SQL 数据库
sql server中创建数据库和表的语法
sql server中创建数据库和表的语法
18 1
|
13天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
80 6
|
1月前
|
SQL 关系型数据库 MySQL
使用SQL语句创建数据库:一步步指南
使用SQL语句创建数据库:一步步指南
115 0
|
2天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询