一个不知道是不是很笨的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

相关文章
|
10月前
|
SQL 机器学习/深度学习 人工智能
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
本文系统性地阐述了自然语言转SQL(NL2SQL) 技术如何让非技术背景的业务分析师实现数据自助查询,从而提升数据驱动决策的效率与准确性。
从“写SQL”到“聊数据”:NL2SQL如何用自然语言解锁数据库?
|
9月前
|
SQL 人工智能 Linux
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
733 5
SQL Server 2025 RC1 发布 - 从本地到云端的 AI 就绪企业数据库
|
8月前
|
SQL 存储 监控
SQL日志优化策略:提升数据库日志记录效率
通过以上方法结合起来运行调整方案, 可以显著地提升SQL环境下面向各种搜索引擎服务平台所需要满足标准条件下之数据库登记作业流程综合表现; 同时还能确保系统稳健运行并满越用户体验预期目标.
424 6
|
10月前
|
SQL 人工智能 Java
用 LangChain4j+Ollama 打造 Text-to-SQL AI Agent,数据库想问就问
本文介绍了如何利用AI技术简化SQL查询操作,让不懂技术的用户也能轻松从数据库中获取信息。通过本地部署PostgreSQL数据库和Ollama模型,结合Java代码,实现将自然语言问题自动转换为SQL查询,并将结果以易懂的方式呈现。整个流程简单直观,适合初学者动手实践,同时也展示了AI在数据查询中的潜力与局限。
1347 8
|
10月前
|
SQL 人工智能 Linux
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 RC0 发布 - 从本地到云端的 AI 就绪企业数据库
440 5
|
11月前
|
SQL 缓存 监控
SqlRest让SQL秒变Http API,还支持20+数据库(含国产数据库)
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
11月前
|
SQL 存储 数据库
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
SQL Server Management Studio (SSMS) 21 - 微软数据库管理工具
1483 0
|
11月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
786 0
|
SQL 人工智能 数据库
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
1047 0
SQL Server 2025 - 从本地到云端的 AI 就绪企业数据库
|
SQL 关系型数据库 MySQL
大数据新视界--大数据大厂之MySQL数据库课程设计:MySQL 数据库 SQL 语句调优方法详解(2-1)
本文深入介绍 MySQL 数据库 SQL 语句调优方法。涵盖分析查询执行计划,如使用 EXPLAIN 命令及理解关键指标;优化查询语句结构,包括避免子查询、减少函数使用、合理用索引列及避免 “OR”。还介绍了索引类型知识,如 B 树索引、哈希索引等。结合与 MySQL 数据库课程设计相关文章,强调 SQL 语句调优重要性。为提升数据库性能提供实用方法,适合数据库管理员和开发人员。