首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 数据库类 [已结贴,结贴人:lzmtw]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 16:32:09 楼主
    利用DbProviderFactory了.


    类和源代码都以上传到资源,地址在这.
    主要的,
    1,方便,简单,扩展(复杂的话,专业的多多,不容自己来考虑)
    2,方便无主键表的更新
    3,方便输出到Excel(可以利用Select ..From [Sheet1$]来选择Excel数据再传到另一个Excel)

    以后在vb.net解答有关数据库的问题,我都会引用这个类.





    示例:

    VB.NET code
    Imports System.Data.Common Public Class Form1 Private db As New LzmTW.Data.SqlDatabase("(local)", "NorthWind") Private cm As DbCommand Private ds As New DataSet Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click cm = db.CreateCommand("[Sales by Year]", True) db.AddParameter(cm, "Beginning_Date").DbType = DbType.DateTime db.AddParameter(cm, "Ending_Date").DbType = DbType.DateTime db.SetParameterValue(cm, "Beginning_Date", #7/4/1996#) db.SetParameterValue(cm, "Ending_Date", #9/4/1996#) db.Load(cm, ds, "1996") db.SetParameterValue(cm, "Beginning_Date", #7/4/1997#) db.SetParameterValue(cm, "Ending_Date", #9/4/1997#) db.Load(cm, ds, "1997") db.Load("SELECT * FROM ORDERS;SELECT * FROM REGION", ds, New String() {"ORDERS", "REGION"}) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.DataGridView1.DataSource = ds.Tables("1996") End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Me.DataGridView1.DataSource = ds.Tables("1997") End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Me.DataGridView1.DataSource = ds.Tables("ORDERS") End Sub Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click Me.DataGridView1.DataSource = ds.Tables("REGION") End Sub Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click Dim db As New LzmTW.Data.ExcelDatabase("g:\dd.xls") Console.WriteLine(db.ToExcel(New String() {"[AA$]", "[BB$]"}, "g:\t.xls", New String() {"AA", "BB"})) End Sub End Class
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 17:16:081楼 得分:1
    怎么得到这个类?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • SYUEHOKO
    • 等级:
    发表于:2008-04-01 18:08:532楼 得分:1
    是啊..怎么得到.?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 18:45:323楼 得分:0
    下午四点提交的资源,现在在我的资源里面还没显示出来.我也没办法.

    试过再传,它怎么说呢,说是已经有这个文件了,别传了.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 19:10:114楼 得分:0

    算了,还是放到博客园吧.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 19:31:415楼 得分:0
    对Office2007的代码没加进去.

    因为针对桌面程序的,所以其它数据库如Oracle没有考虑(我没安装过,没有测试环境)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 19:42:506楼 得分:1
    mark
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • vlsm
    • 等级:
    发表于:2008-04-01 20:52:017楼 得分:1
    mark!太牛了!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 21:14:478楼 得分:1
    我也做了一个,不过我的是继承了一个DataSet,在些基础上增加数据处理功能,比这个可强大了..哈哈
    正用在当前的项目上...
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 21:21:019楼 得分:0
    怎么强大法,不妨说说看看
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 23:28:3210楼 得分:1
    学习。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-01 23:34:0111楼 得分:0
    应用示例

    把EXCLE文件内容导入datagrid中
    http://topic.csdn.net/u/20080401/21/04fa1da5-5203-4af9-8f73-b84d185e9af7.html
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • xray2005
    • 等级:
    发表于:2008-04-02 00:27:2712楼 得分:1
    学习
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 01:53:1113楼 得分:1
    顶。。。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 07:34:4714楼 得分:1
    ≒ 收藏
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 08:55:4615楼 得分:1
    女的?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 09:33:2316楼 得分:1
    女的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 09:36:3917楼 得分:1
    Up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wdzr_826
    • 等级:
    发表于:2008-04-02 09:40:3318楼 得分:1
    弓虽
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 09:47:2419楼 得分:1
    强不强的,让大家看看不就行了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 09:49:5820楼 得分:1
    有没有做自定义分页显示功能?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 09:52:2421楼 得分:0
    强不强不是问题

    写这个我主要是为了在这答题方便.
    它基本能够解决这版块提出的有关数据库的大部分问题.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 09:54:2522楼 得分:0
    分页显示是存储过程的事,用不着在这个类中来实现.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 10:40:0723楼 得分:1
    解决方案v9
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 13:45:0724楼 得分:1
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-02 17:33:2125楼 得分:0
    关于临时指定主键更新数据和导出到Excel的示例代码

    你们看了竞这么简单,相信会有点兴趣的

    VB.NET code
    Public Class Form1 Private db As New LzmTW.Data.SqlDatabase(".", "NorthWind") '生成一个Table.如果按了这个了,往后就别按这个,会出错 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim SqlCreate As String = "CREATE TABLE Simple(ID int , Name varchar(50), sex bit)" db.Execute(SqlCreate) End Sub '绑定到DataGridView,并置ID为主键约束.然后在DataGridView上加数据 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim table As New DataTable("Simple") db.Load("Simple", table, New String() {"ID"}) Me.DataGridView1.DataSource = table End Sub '临时指定ID为主键,将DataGridView上的数据更新到数据库.更新了数据后,可以重按Button2看看是不是真的传上去了。 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click db.Update("Simple", CType(Me.DataGridView1.DataSource, DataTable), New String() {"ID"}) End Sub '将这个表的信息包括表头和数据都传到excel去. Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click db.ToExcel("Simple", "g:\simple.xls", "Simple") End Sub '删除表 Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click db.Execute("DROP TABLE Simple") End Sub End Class
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • herol
    • 等级:
    发表于:2008-04-03 09:30:3626楼 得分:1
    收藏并留个记号
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-03 10:51:3927楼 得分:1
    收藏!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-03 13:05:2528楼 得分:1
    收藏
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-03 23:26:2129楼 得分:0
    我下载了,可是打不开你的源码,不知道是什么原因。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-03 23:31:2530楼 得分:0
    那是rar压缩文件
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-04-04 00:30:5331楼 得分:0
    已经解压之后打不开,图标都不对,我的是VS2005

    LzmTW.Data.sln---这个文件打不开
    修改