Lotus & VB.NET(5):Session,Database and DbDirectory

水如烟 2009-07-11 11:20:31
一般用到的几个对象
...全文
157 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
HanMo 2009-08-31
  • 打赏
  • 举报
回复
结帐
水如烟 2009-07-11
  • 打赏
  • 举报
回复
UserName.vb
Namespace LzmTW.Lotus
Public Class UserName
Inherits LzmTW.uSystem.IComClassBase(Of IName)

Friend Sub New(ByVal user As IName)
MyBase.New(user)
End Sub

End Class
End Namespace


Session.vb
Namespace LzmTW.Lotus
Public Class Session
Inherits LzmTW.uSystem.IComClassBase(Of ISession)
Private user As UserName

Friend Sub New(ByVal session As ISession)
MyBase.New(session)
If Me.IsValid Then
user = New UserName(Me.com.UserNameObject)
End If
End Sub

Public ReadOnly Property UserName() As UserName
Get
Return user
End Get
End Property

Public Function OpenLocalDatabase(ByVal database As String) As Database
Return Me.OpenDatabase(Nothing, database)
End Function

Public Function OpenServerDatabase(ByVal database As String) As Database
Return Me.OpenDatabase(Notes.Environment.Server, database)
End Function

Public Function OpenDatabase(ByVal server As String, ByVal database As String) As Database
Dim db As IDatabase
db = Me.com.GetDatabase(server, database, False)
Return New Database(db)
End Function

Public Function GetLocalDirectory() As DbDirectory
Return New DbDirectory(Me.com.GetDbDirectory(Nothing))
End Function

Public Function GetServerDirectory() As DbDirectory
Return New DbDirectory(Me.com.GetDbDirectory(Notes.Environment.Server))
End Function

Protected Overrides Sub ReleaseOtherComsBeforeReleaseMainCom()
If Not Me.user Is Nothing Then
Me.user.Dispose()
End If
End Sub

End Class
End Namespace
水如烟 2009-07-11
  • 打赏
  • 举报
回复
DbDirectory.vb
Namespace LzmTW.Lotus
Public Class DbDirectory
Inherits LzmTW.uSystem.IComClassBase(Of IDbDirectory)

Friend Sub New(ByVal directory As IDbDirectory)
MyBase.New(directory)
End Sub

Public Function GetFirstDatabase(Optional ByVal type As DB_TYPES = DB_TYPES.NOTES_DATABASE) As Database
Return New Database(Me.com.GetFirstDatabase(type))
End Function

Public Function GetNextDatabase() As Database
Return New Database(Me.com.GetNextDatabase)
End Function

Public Sub ForEachDatabase(ByVal action As Action(Of Database), Optional ByVal type As DB_TYPES = DB_TYPES.NOTES_DATABASE)
Dim db As Database = Me.GetFirstDatabase(type)
While Not db.com Is Nothing
action(db)
db = Me.GetNextDatabase
End While
End Sub

End Class
End Namespace


Database.vb
Namespace LzmTW.Lotus
Public Class Database
Inherits LzmTW.uSystem.IComClassBase(Of IDatabase)

Sub New(ByVal database As IDatabase)
MyBase.New(database)
End Sub

Public Function CanOpen() As Boolean
If Me.Com Is Nothing Then Return False

If Not Me.Com.IsOpen Then
Try
Me.Com.Open()
Catch ex As Exception
End Try
End If

Return Me.Com.IsOpen
End Function


End Class
End Namespace


16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧