| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 899 人关注过本帖
标题:[讨论]数据库连接的代码要怎么写比较好
只看楼主 加入收藏
天字一号
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2005-5-13
收藏
 问题点数:0 回复次数:8 
[讨论]数据库连接的代码要怎么写比较好
windows窗体中 与数据库连接的代码要怎么写比较好,要考虑到窗体很多,要修改连接路径时只要改一处。

不可能每个窗体的连接路径都要改吧!
搜索更多相关主题的帖子: 数据库 代码 
2006-05-11 17:40
Viviwei
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:344
专家分:0
注 册:2006-4-11
收藏
得分:0 
如果想标准话窗体的话最好是写一个类,进行经常的调用!~
如果现在还没有写类的能力,建议如下:
imports system.data.sqlclient
Dim conn As New SqlConnection("server=.;database=ViBook;integrated security=sspi")
Dim comm As New SqlCommand
Dim ds As New DataSet
Dim da As New SqlDataAdapter
If conn.State = ConnectionState.Closed Then
conn.Open()
End If
comm.Connection = conn
comm.CommandType = CommandType.Text
comm.CommandText = "select 姓名 from 管理员信息"
da.SelectCommand = comm
da.Fill(ds, "图书信息表")
If conn.State = ConnectionState.open Then
conn.close()
End If

爱上思考,爱上编程,爱上.net!
2006-05-12 07:37
Viviwei
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:344
专家分:0
注 册:2006-4-11
收藏
得分:0 

相关的表与数据库的连接主键更改就是了
这样写的麻烦之处就是每个窗体都要写入一个连接!


爱上思考,爱上编程,爱上.net!
2006-05-12 07:39
天字一号
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2005-5-13
收藏
得分:0 
要得就是类的代码和调用的代码,上面的写法不符合要求,要改的话每个窗体都要改了!

2006-05-12 07:50
adair
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:250
专家分:0
注 册:2005-9-3
收藏
得分:0 

可以建一個模塊MODULE呀.
然後在里面定義全局常量呀


********年轻无极限******** 要時刻相信你自己,不要被自己打敗
2006-05-12 17:29
single
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-5-12
收藏
得分:0 

还是写类
Imports System
Imports System.Data
Imports System.Data.SqlClient
Public Class class2
Dim str As String = "数据库连接字符串"
Public conn As New SqlConnection(str)
End Class
在类里这样写,然后在 每个页面
friend sqlconnection as new class2
然后就可以直接去调用这个连接了


2006-05-12 20:01
天字一号
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2005-5-13
收藏
得分:0 
single,你这样可以吗,不行啊!

2006-05-13 08:37
天字一号
Rank: 1
等 级:新手上路
帖 子:91
专家分:0
注 册:2005-5-13
收藏
得分:0 

在Module1.vb里的:
Imports System.Data.SqlClient
Module Module1
Public ConnString As String = "Data Source=.;Initial Catalog=test;User ID=sa"
Function CreateDataSetaa(ByVal strSQL As String, ByVal TableName As String) As DataSet
Dim objCmd As New SqlDataAdapter(strSQL, ConnString)
Dim DS As New DataSet
objCmd.Fill(DS, TableName)
CreateDataSetaa = DS
End Function
End Module
在Form1.vb里的:
Imports System.Data.SqlClient

Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim strSql As String = "select * from aaa"
DataGrid1.DataSource = CreateDataSetaa(strSql, "aaa")
Me.DataGrid1.DataMember = "aaa"
End Sub
End Class
但我很想知道 single 你的那种写法!


2006-05-13 08:44
Viviwei
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:344
专家分:0
注 册:2006-4-11
收藏
得分:0 

一个标准的建类方法.比如要建立一个名为database的类,代码编写如下:
Imports System.Data
Imports System.Data.SqlClient
Imports System.ComponentModel
Public Class DataBase
'实现接口IDisposable
Implements IDisposable
'数据库连接对象
Private SqlConn As SqlConnection
Public Shared sConn As String = "Persist Security Info=False;Integrated Security=SSPI;database=libbook;server=.;Connect Timeout=30"
Public Sub Dispose() Implements System.IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(True)
End Sub
Protected Sub Dispose(ByVal disposing As Boolean)
If disposing <> True Then
Return
End If

If SqlConn Is Nothing = False Then
SqlConn.Dispose()
SqlConn = Nothing
End If
End Sub

Public Sub Open()
If SqlConn Is Nothing = True Then
'建立数据库连接对象
SqlConn = New SqlConnection(Me.sConn)
'打开数据库连接
SqlConn.Open()
End If
End Sub
Public Sub Close()
'如果数据库连接对象不为空则关闭数据库连接
If SqlConn Is Nothing = False Then
SqlConn.Close()
End If
End Sub
Public Function RunSelectSQL(ByVal sSQLString As System.String) As DataView
Me.Open()
Dim SqlDS As DataSet = New DataSet
Dim SqlDA As SqlDataAdapter = New SqlDataAdapter(sSQLString, Me.SqlConn)
SqlDA.Fill(SqlDS)
Return SqlDS.Tables(0).DefaultView
End Function
Public Function RunDelOrInsSQL(ByVal sSQLString As System.String)
Me.Open()
Dim SqlComm As SqlCommand = New SqlCommand(sSQLString, Me.SqlConn)
SqlComm.ExecuteNonQuery()
End Function
End Class


爱上思考,爱上编程,爱上.net!
2006-05-13 12:40
快速回复:[讨论]数据库连接的代码要怎么写比较好
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.047942 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved