读书人

求VB.NET数据库模块功能!解决方案

发布时间: 2012-01-19 00:22:27 作者: rapoo

求VB.NET数据库模块功能!
求VB.NET数据库模块功能!

功能:增加
修改
删除
指定显示记录..

分不够不再加,回的内容不好再给!



[解决办法]
不都是操作SQL来做操作的么

LZ可以先去下载一个例子来研究,这样问没有实际意义
[解决办法]
能具体一点么?
[解决办法]
'删除、增加、修改
Public Function UpdateData(ByVal sqlstr As String) As Boolean Implements DatacnnLab.DataLab.UpdateData
Dim cmm As New SqlCommand
Try
cnn.Open()
cmm.Connection = cnn
cmm.CommandText = sqlstr
cmm.CommandType = CommandType.Text
cmm.ExecuteNonQuery()
cnn.Close()

Return True

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OKOnly, "警告 ")
Catch
MsgBox( "错误号: " & Err.Number & Chr(13) & "错误描述: " & Err.Description)
Return False
End Try
End Function

'检验记录是否存在
Public Function RecInDataBase(ByVal strSQL As String) As Boolean Implements DatacnnLab.DataLab.RecInDataBase
Dim objDataSet As DataSet = New DataSet
Dim objDataAdpter As SqlDataAdapter
Try

cnn.Open()

objDataAdpter = New SqlDataAdapter(strSQL, cnn)

objDataAdpter.Fill(objDataSet)

cnn.Close()
Catch
MsgBox( "错误号: " & Err.Number & Chr(13) & "错误描述: " & Err.Description)
End Try

If objDataSet.Tables(0).Rows.Count > 0 Then
Return True
Else
Return False
End If
objDataSet = Nothing
End Function

'返回记录集
Public Function GetDataFromDB(ByVal sqlstr As String, Optional ByVal TableName As String = " ") As DataSet Implements DatacnnLab.DataLab.GetDataFromDB

Dim objDataSet As DataSet = New DataSet
Try
objDataSet.Clear()


cnn.Open()

Dim objDataAdpter As SqlDataAdapter = New SqlDataAdapter(sqlstr, cnn)

If TableName.Trim = " " Then
objDataAdpter.Fill(objDataSet)
Else

objDataAdpter.Fill(objDataSet, TableName)

End If

cnn.Close()
Catch
MsgBox( "错误号: " & Err.Number & "错误描述: " & Err.Description)
cnn.Close()
End Try

Return objDataSet

objDataSet = Nothing

End Function

'得到一个值
Public Function GetOneValue(ByVal strSQL As String) As String Implements DatacnnLab.DataLab.GetOneValue

Dim objDataSet As DataSet = New DataSet

Try

cnn.Open()

Dim objDataAdpter As SqlDataAdapter = New SqlDataAdapter(strSQL, cnn)

objDataAdpter.Fill(objDataSet)

cnn.Close()
Catch
MsgBox( "错误号: " & Err.Number & "错误描述: " & Err.Description)
cnn.Close()
End Try

If objDataSet.Tables(0).Rows.Count > 0 Then


Return CStr(objDataSet.Tables(0).Rows(0).Item(0))
Else
Return " "
End If
objDataSet = Nothing

End Function
[解决办法]
微软的企业库
[解决办法]
' ' SqlClientの各クラスを利用したデタベスアクセスクラス
Public Class DatabaseAccess
Private sqlConn As SqlClient.SqlConnection 'DB接
'Private frmBusy As form 'ビジメッセジフォム

'コンストラクタ
Public Sub New()
'DB接インスタンス生成
Me.sqlConn = New SqlClient.SqlConnection
End Sub

'コンストラクタ
' sConnStr - DB接文(ConnectionString)
Public Sub New(ByVal sConnStr As String)
'DB接インスタンス生成
Me.sqlConn = New SqlClient.SqlConnection

If sConnStr <> Nothing Then
'DB接文定
Me.sqlConn.ConnectionString = sConnStr
Else
Console.Out.WriteLine( "Warning: CconnectionString is Nothing. ")
End If
End Sub

'DB接インスタンス取得
Public ReadOnly Property Connection() As SqlClient.SqlConnection
Get
Return Me.sqlConn
End Get
End Property

#If 0 Then
'ビジメッセジフォム取得/定
Public Property BusyMessageForm() As Form
Get
Return Me.frmBusy
End Get
Set(ByVal Value As Form)
Me.frmBusy = Value
End Set
End Property
#End If

'デタベス接
Public Sub Open()
Try
Me.sqlConn.Open()
Catch exception As SystemException
Console.Error.WriteLine(exception.Message)
Console.Error.WriteLine(exception.StackTrace)
Throw New Exception( "デタベスへ接できませんでした。 ", exception)
End Try
End Sub

'デタベス切断
Public Sub Close()
'既にじている合はする
If Me.sqlConn.State = ConnectionState.Closed Then Exit Sub

Try
Me.sqlConn.Close()
Catch
End Try
End Sub

'テブルからのデタ取得
' sSql - SELECT文
' り - デタを格したSqlDataReaderオブジェクト
Public Function ExecuteReader(ByVal sSql As String) As SqlClient.SqlDataReader
Dim sqlCmd As New SqlClient.SqlCommand

'ビジメッセジ表示
'Me.ShowBusyMessage()

Try
'接チェック
Me.ConnectionCheck()

'クエリ送信
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = sSql
ExecuteReader = sqlCmd.ExecuteReader(CommandBehavior.CloseConnection)
Catch exception As SystemException
'クエリ送信の例外理
Console.Error.WriteLine(exception.Message)
Console.Error.WriteLine(exception.StackTrace)
Throw New SystemException( "デタベスからのデタ取得に失しました。 ", exception)
Catch exception As Exception
'接チェックの例外はそのままスロ
Throw exception
Finally
'ビジメッセジ非表示
'Me.HideBusyMessage()
End Try
End Function

'テブルからのデタ取得
' sSql - UPDATE、INSERT、DELETE等のSQLコマンド
' り - 影を受けた行数
Public Function ExecuteNonQuery(ByVal sSql As String) As Integer


Dim sqlCmd As New SqlClient.SqlCommand

'ビジメッセジ表示
'Me.ShowBusyMessage()

Try
'接チェック
Me.ConnectionCheck()

'コマンド送信
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = sSql
ExecuteNonQuery = sqlCmd.ExecuteNonQuery()
Catch exception As SystemException
'コマンド送信の例外理
Console.Error.WriteLine(exception.Message)
Console.Error.WriteLine(exception.StackTrace)
Throw New SystemException( "デタベスのデタ更新に失しました。 ", exception)
Catch exception As Exception
'接チェックの例外はそのままスロ
Throw exception
Finally
'ビジメッセジ非表示
'Me.HideBusyMessage()
End Try
End Function

'テブルからのデタ取得
' sSql - SELECT文
' り - デタを格したDataTableオブジェクト
Public Function FillDataTable(ByVal sSql As String) As DataTable
Dim sqlAdapter As New SqlClient.SqlDataAdapter
Dim sqlCmd As New SqlClient.SqlCommand
Dim datTbl As New DataTable

'ビジメッセジ表示
'Me.ShowBusyMessage()

Try
'接チェック
Me.ConnectionCheck()

'クエリ送信
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = sSql
sqlAdapter.SelectCommand = sqlCmd
sqlAdapter.Fill(datTbl)
FillDataTable = datTbl
Catch exception As SystemException
'クエリ送信の例外理
Console.Error.WriteLine(exception.Message)
Console.Error.WriteLine(exception.StackTrace)
Throw New SystemException( "デタベスからのデタ取得に失しました。 ", exception)
Catch exception As Exception
'接チェックの例外はそのままスロ
Throw exception
Finally
'ビジメッセジ非表示
'Me.HideBusyMessage()
End Try
End Function

'テブルからのデタ取得
' sSql - SELECT文
' り - デタを格したDataTableオブジェクト
Public Function FillDataSet(ByVal sSql As String) As DataSet
Dim sqlAdapter As New SqlClient.SqlDataAdapter
Dim sqlCmd As New SqlClient.SqlCommand
Dim datSet As New DataSet

'ビジメッセジ表示
'Me.ShowBusyMessage()

Try
'接チェック
Me.ConnectionCheck()

'クエリ送信
sqlCmd.Connection = sqlConn
sqlCmd.CommandText = sSql
sqlAdapter.SelectCommand = sqlCmd
sqlAdapter.Fill(datSet)
FillDataSet = datSet
Catch exception As SystemException
'クエリ送信の例外理
Console.Error.WriteLine(exception.Message)
Console.Error.WriteLine(exception.StackTrace)
Throw New SystemException( "デタベスからのデタ取得に失しました。 ", exception)
Catch exception As Exception
'接チェックの例外はそのままスロ
Throw exception
Finally
'ビジメッセジ非表示
'Me.HideBusyMessage()
End Try
End Function

'デタベス接チェック
Private Sub ConnectionCheck()
'接が持されている合は
If Me.sqlConn.State <> ConnectionState.Closed Then Exit Sub

'切断している合は再接
Try
Me.Open()
Catch exception As Exception


Throw exception
End Try
End Sub

#If 0 Then
'ビジメッセジ表示
Private Sub ShowBusyMessage()
If IsNothing(Me.frmBusy) Then Exit Sub
Me.frmBusy.Show()
End Sub

'ビジメッセジ非表示
Private Sub HideBusyMessage()
If IsNothing(Me.frmBusy) Then Exit Sub
Me.frmBusy.Hide()
End Sub
#End If
End Class

[解决办法]
很全了已经
[解决办法]
把后面接口的那部分出掉就行啦,从这里开始Implements全部去掉

读书人网 >VB Dotnet

热点推荐