谁知道serverlet直连数据库的代码怎么写?

谁知道serverlet直连数据库的代码怎么写?,第1张

这就是我曾经写的初始化数据库组件源代码。看看用得上没有。

Option Explicit

Private mdbPassword As String

Private mdbPath As String

Private Server As String

Private UserID As String

Private Password As String

Private DatabaseName As String

Public Property Let l_mdbPath(str_mdbPath As String)

mdbPath = str_mdbPath

End Property

Public Property Let l_mdbPassword(str_mdbPassword As String)

mdbPassword = str_mdbPassword

End Property

Public Property Let l_Server(str_Server As String)

Server = str_Server

End Property

Public Property Let l_LoginID(str_LoginID As String)

UserID = str_LoginID

End Property

Public Property Let l_Password(str_Password As String)

Password = str_Password

End Property

Public Property Let l_DatabaseName(str_DatabaseName As String)

DatabaseName = str_DatabaseName

End Property

'建立数据库

Public Function CreateDatabase() As Integer

Dim sql_connString As String

Dim conn As ADODB.Connection

Set conn = New ADODB.Connection

sql_connString = "IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'" &DatabaseName &"')"

sql_connString = sql_connString + " DROP DATABASE [" &DatabaseName &"]"

sql_connString = sql_connString + " CREATE DATABASE [" &DatabaseName &"]"

conn.ConnectionString = "driver=" &_

"server=" &Server &"" &_

"uid=" &UserID &"" &_

"pwd=" &Password &"" &_

"database=master"

conn.Open

conn.BeginTrans

conn.Execute sql_connString

If conn.Errors.Count >0 Then

conn.RollbackTrans

Else

conn.CommitTrans

CreateDatabase = 1

End If

conn.Close

Set conn = Nothing

End Function

'建立数据库登录用户

Public Function CreateLoginUser(LoginName As String, UserLoginPassword As String) As Integer

Dim tmp_Str As String

Dim conn_mdb As New ADODB.Connection

Dim conn_Sql As New ADODB.Connection

Dim rs_mdb As New ADODB.Recordset

'打开SQL SERVER数据库

conn_Sql.ConnectionString = "driver=" &_

"server=" &Server &"" &_

"uid=" &UserID &"" &_

"pwd=" &Password &"" &_

"database=" &DatabaseName

conn_Sql.Open

'打开MDB数据库

conn_mdb.Open "driver=dbq=" &mdbPath &"password=" &mdbPassword

rs_mdb.Open "CreateLoginUser", conn_mdb, adOpenDynamic

If Not (rs_mdb.EOF And rs_mdb.BOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

tmp_Str = CStr(rs_mdb("CreateLoginUserSqlLine"))

If InStr(1, tmp_Str, "DefaultDatabase") >0 Then

tmp_Str = Replace(tmp_Str, "DefaultDatabase", DatabaseName)

End If

If InStr(1, tmp_Str, "DefaultPassword") >0 Then

tmp_Str = Replace(tmp_Str, "DefaultPassword", UserLoginPassword)

End If

If InStr(1, tmp_Str, "DefaultUser") >0 Then

tmp_Str = Replace(tmp_Str, "DefaultUser", LoginName)

End If

conn_Sql.Execute tmp_Str

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

CreateLoginUser = 0

rs_mdb.Close

Exit Function

Else

conn_Sql.CommitTrans

CreateLoginUser = 1

rs_mdb.Close

End If

Else

CreateLoginUser = 0

End If

conn_mdb.Close

conn_Sql.Close

Set conn_Sql = Nothing

Set conn_mdb = Nothing

End Function

'建立数据库相关结构内容

Public Function CreateTable() As Integer

Dim conn_mdb As New ADODB.Connection

Dim conn_Sql As New ADODB.Connection

Dim rs_mdb As New ADODB.Recordset

'打开SQL SERVER数据库

conn_Sql.ConnectionString = "driver=" &_

"server=" &Server &"" &_

"uid=" &UserID &"" &_

"pwd=" &Password &"" &_

"database=" &DatabaseName

conn_Sql.Open

'打开MDB数据库

conn_mdb.Open "driver=dbq=" &mdbPath &"password=" &mdbPassword

'第一步,从FirstDropContent表中取得SQL语句,删除库中已经存在的内容

rs_mdb.Open "FirstDropContent", conn_mdb, adOpenDynamic

If Not (rs_mdb.EOF And rs_mdb.BOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

conn_Sql.Execute CStr(rs_mdb("DropContent"))

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

CreateTable = 0

rs_mdb.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

End If

Else

CreateTable = 0

End If

'第二步,从CreateTable表中取得SQL语句,建立数据库的表

rs_mdb.Open "CreateTable", conn_mdb, adOpenDynamic

If Not (rs_mdb.EOF And rs_mdb.BOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

conn_Sql.Execute CStr(rs_mdb("CreateTable"))

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

CreateTable = 0

rs_mdb.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

End If

Else

CreateTable = 0

End If

'第三步,从AlertTable表中取得SQL语句,修改数据库的表

rs_mdb.Open "AlertTable", conn_mdb, adOpenDynamic

If Not (rs_mdb.EOF And rs_mdb.BOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

conn_Sql.Execute CStr(rs_mdb("AlertTable"))

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

CreateTable = 0

rs_mdb.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

End If

Else

CreateTable = 0

End If

'第四步,从CreateView表中取得SQL语句,建立数据库的视图

rs_mdb.Open "CreateView", conn_mdb, adOpenDynamic

If Not (rs_mdb.EOF And rs_mdb.BOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

conn_Sql.Execute CStr(rs_mdb("CreateView"))

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

CreateTable = 0

rs_mdb.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

End If

Else

CreateTable = 0

End If

'第五步,从CreateProcedure表中取得SQL语句,建立数据库的存储过程

rs_mdb.Open "CreateProcedure", conn_mdb, adOpenDynamic

If Not (rs_mdb.EOF And rs_mdb.BOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

conn_Sql.Execute CStr(rs_mdb("CreateProcedure"))

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

CreateTable = 0

rs_mdb.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

End If

Else

CreateTable = 0

End If

'第六步,从CreateTrigger表中取得SQL语句,建立数据库的触发过程

rs_mdb.Open "CreateTrigger", conn_mdb, adOpenDynamic

If Not (rs_mdb.EOF And rs_mdb.BOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

conn_Sql.Execute CStr(rs_mdb("CreateTrigger"))

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

CreateTable = 0

rs_mdb.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

End If

Else

CreateTable = 0

End If

CreateTable = 1

conn_mdb.Close

conn_Sql.Close

Set conn_mdb = Nothing

Set conn_Sql = Nothing

End Function

'删除数据库

Public Function DropDatabase() As Integer

Dim sql_connString As String

Dim conn As New ADODB.Connection

conn.ConnectionString = "driver=" &_

"server=" &Server &"" &_

"uid=" &UserID &"" &_

"pwd=" &Password &"" &_

"database=master"

conn.Open

conn.BeginTrans

sql_connString = "IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'" &DatabaseName &"')"

sql_connString = sql_connString + " DROP DATABASE [" &DatabaseName &"]"

conn.Execute sql_connString

If conn.Errors.Count >0 Then

conn.RollbackTrans

Else

conn.CommitTrans

DropDatabase = 1

End If

conn.Close

Set conn = Nothing

End Function

'填充默认数据表内容

Public Function FillTable()

Dim conn_mdb As New ADODB.Connection

Dim conn_Sql As New ADODB.Connection

Dim rs_mdb As New ADODB.Recordset

Dim rs_Sql As New ADODB.Recordset

'打开SQL SERVER数据库

conn_Sql.ConnectionString = "driver=" &_

"server=" &Server &"" &_

"uid=" &UserID &"" &_

"pwd=" &Password &"" &_

"database=" &DatabaseName

conn_Sql.Open

'打开MDB数据库

conn_mdb.Open "driver=dbq=" &mdbPath &"password=" &mdbPassword

'第一步,将MDB库GeneralCode表中的内容导入到SQL SERVEER中的GeneralCode表中。

rs_mdb.Open "GeneralCode", conn_mdb, adOpenDynamic

rs_Sql.Open "dbo.GeneralCode", conn_Sql, adOpenDynamic, adLockOptimistic

If Not rs_Sql.EOF Then

rs_Sql.MoveFirst

While Not rs_Sql.EOF

rs_Sql.Delete

rs_Sql.MoveNext

Wend

End If

If Not (rs_mdb.BOF And rs_mdb.EOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

rs_Sql.AddNew

rs_Sql("Catalog") = rs_mdb("Catalog").Value

rs_Sql("Code") = rs_mdb("Code").Value

rs_Sql("Description") = rs_mdb("Description").Value

rs_Sql("FriendKeyID") = rs_mdb("FriendKeyID").Value

rs_Sql("ModifyBy") = rs_mdb("ModifyBy").Value

rs_Sql("ModifyDate") = rs_mdb("ModifyDate").Value

rs_Sql("UsedBy") = rs_mdb("UsedBy").Value

rs_Sql("TransferFlag") = rs_mdb("TransferFlag").Value

rs_Sql.Update

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

FillTable = 0

rs_mdb.Close

rs_Sql.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

rs_Sql.Close

End If

Else

FillTable = 0

rs_mdb.Close

rs_Sql.Close

End If

'第二步,将MDB库Program表中的内容导入到SQL SERVEER中的Program表中。

rs_mdb.Open "Program", conn_mdb, adOpenDynamic

rs_Sql.Open "dbo.Program", conn_Sql, adOpenDynamic, adLockOptimistic

If Not rs_Sql.EOF Then

rs_Sql.MoveFirst

While Not rs_Sql.EOF

rs_Sql.Delete

rs_Sql.MoveNext

Wend

End If

If Not (rs_mdb.BOF And rs_mdb.EOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

rs_Sql.AddNew

rs_Sql("ProgramID") = rs_mdb("ProgramID").Value

rs_Sql("ProgramName") = rs_mdb("ProgramName").Value

rs_Sql.Update

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

FillTable = 0

rs_mdb.Close

rs_Sql.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

rs_Sql.Close

End If

Else

FillTable = 0

rs_mdb.Close

rs_Sql.Close

End If

'第三步,将MDB库UserAuthorization表中的内容导入到SQL SERVEER中的UserAuthorization表中。

rs_mdb.Open "UserAuthorization", conn_mdb, adOpenDynamic

rs_Sql.Open "dbo.UserAuthorization", conn_Sql, adOpenDynamic, adLockOptimistic

If Not rs_Sql.EOF Then

rs_Sql.MoveFirst

While Not rs_Sql.EOF

rs_Sql.Delete

rs_Sql.MoveNext

Wend

End If

If Not (rs_mdb.BOF And rs_mdb.EOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

rs_Sql.AddNew

rs_Sql("UserID") = rs_mdb("UserID").Value

rs_Sql("UserName") = rs_mdb("UserName").Value

rs_Sql("PositionID") = rs_mdb("PositionID").Value

rs_Sql("GroupID") = rs_mdb("GroupID").Value

rs_Sql("Password") = rs_mdb("Password").Value

rs_Sql("Authoration") = rs_mdb("Authoration").Value

rs_Sql("ModifyBy") = rs_mdb("ModifyBy").Value

rs_Sql("ModifyDate") = Now

rs_Sql("TransferFlag") = rs_mdb("TransferFlag").Value

rs_Sql.Update

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

FillTable = 0

rs_mdb.Close

rs_Sql.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

rs_Sql.Close

End If

Else

FillTable = 0

rs_mdb.Close

rs_Sql.Close

End If

'第四步,将MDB库QueryView表中的内容导入到SQL SERVEER中的QueryView表中。

rs_mdb.Open "QueryView", conn_mdb, adOpenDynamic

rs_Sql.Open "dbo.QueryView", conn_Sql, adOpenDynamic, adLockOptimistic

If Not rs_Sql.EOF Then

rs_Sql.MoveFirst

While Not rs_Sql.EOF

rs_Sql.Delete

rs_Sql.MoveNext

Wend

End If

If Not (rs_mdb.BOF And rs_mdb.EOF) Then

rs_mdb.MoveFirst

conn_Sql.BeginTrans

While Not rs_mdb.EOF

rs_Sql.AddNew

rs_Sql("ProgramCode") = rs_mdb("ProgramCode").Value

rs_Sql("ViewName") = rs_mdb("ViewName").Value

rs_Sql.Update

rs_mdb.MoveNext

Wend

If conn_Sql.Errors.Count >0 Then

conn_Sql.RollbackTrans

FillTable = 0

rs_mdb.Close

rs_Sql.Close

Exit Function

Else

conn_Sql.CommitTrans

rs_mdb.Close

rs_Sql.Close

End If

Else

FillTable = 0

rs_mdb.Close

rs_Sql.Close

End If

FillTable = 1

conn_mdb.Close

conn_Sql.Close

Set conn_mdb = Nothing

Set conn_Sql = Nothing

End Function

另外,团IDC网上有许多产品团购,便宜有口碑

1、加载驱动程序。

2、创建连接对象。

3、创建sql语句执行对象 。

4、执行sql语句。

5、对执行结果进行处理。

6、关闭相关的连接对象即可(顺序跟声明的顺序相反)。

处理结果两种情况:

1、执行更新返回的是本次 *** 作影响到的记录数。

2、执行查询返回的结果是一个ResultSet对象。

ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些 行中数据的访问。

扩展资料:

Statement

要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3 种类型:

1、执行静态SQL语句。通常通过Statement实例实现。

2、执行动态SQL语句。通常通过PreparedStatement实例实现。

3、执行数据库存储过程。通常通过CallableStatement实例实现。

参考资料:百度百科JAVA


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6655246.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-26
下一篇2023-03-26

发表评论

登录后才能评论

评论列表(0条)

    保存