Public Function GetDBList(ByVal oLogInf As LoginInfo, _
ByVal ToDebug As Boolean, _
ByRef DBList_XML As String, _
ByRef ErrorInfo As String) As Boolean
oLoginInfo = oLogInf
Dim objCommand As SqlCommand = New SqlCommand()
objCommand = ReturnCommand("sp_databases", ToDebug, ErrorInfo)
objCommand.CommandType = CommandType.StoredProcedure
Dim objDataAdapter As SqlDataAdapter = New SqlDataAdapter()
objDataAdapter.SelectCommand = objCommand
Dim dsDBList As DataSet = New DataSet("QueryResults")
objDataAdapter.Fill(dsDBList, "Databases")
Dim objStringWriter As New System.IO.StringWriter()
dsDBList.WriteXml(objStringWriter, XmlWriteMode.WriteSchema)
DBList_XML = "" & objStringWriter.ToString()
Return True
End Function
* where oLogInf parameter contains information needed to connect to SQL Server (server address, user name, password)
Public Function DBList(ByVal ServerAddress As String, _
ByVal UserName As String, _
ByVal UserPassword As String, _
ByRef ErrorInfo As String) As String
Try
With oLoginInfo
.sServer = ServerAddress
.sLoginName = UserName
.sPassword = UserPassword
.sDatabase = ""
End With
Dim DBList_XML As String
Dim ToDebugSetting As String = System.Configuration.ConfigurationSettings.AppSettings.Get("DebugMode")
Dim ToDebug As Boolean = (ToDebugSetting <> "")
If oCon.GetDBList(oLoginInfo, ToDebug, DBList_XML, ErrorInfo) Then
Return DBList_XML
Else
Return ""
End If
Catch ex As Exception
ErrorInfo = ex.Message()
Return ""
End Try
End Function
Friend Function PopulateDBList(ByVal cboListControl As Windows.Forms.ComboBox, _
ByVal AddNoneRow As Boolean, _
ByVal ToSelectDatabase As String, _
ByRef ErrorInfo As String) As Boolean
Try
ErrorInfo = ""
cboListControl.Tag = "...loading..."
Dim DBList_XML As String
DBList_XML = objSQLWebServiceManager.DBList(objLoginInfo.ServerAddress, _
objLoginInfo.UserName, _
objLoginInfo.UserPassword, _
ErrorInfo)
If ErrorInfo <> "" Or DBList_XML = "" Then Return False
Dim objResponse As New DataSet()
Dim Reader As New System.IO.StringReader(DBList_XML.ToString())
Dim XMLReader As New System.Xml.XmlTextReader(Reader)
XMLReader.Read()
objResponse.ReadXml(XMLReader, XmlReadMode.Auto)
If AddNoneRow Then
Dim dtRowNone As DataRow
dtRowNone = objResponse.Tables(0).NewRow
dtRowNone.Item("DATABASE_NAME") = ""
dtRowNone.Item("DATABASE_SIZE") = 0
dtRowNone.Item("REMARKS") = ""
objResponse.Tables(0).Rows.Add(dtRowNone)
End If
objResponse.AcceptChanges()
XMLReader.Close()
cboListControl.DataSource = objResponse.Tables(0)
cboListControl.DisplayMember = "DATABASE_NAME"
If AddNoneRow And ToSelectDatabase = "" Then
cboListControl.SelectedIndex = cboListControl.Items.Count - 1
End If
cboListControl.Tag = ""
If ToSelectDatabase <> "" Then
'cboListControl.FindString()
Dim objSelectedRow As System.Data.DataRowView
Dim i As Integer = 0
For i = 0 To cboListControl.Items.Count - 1
objSelectedRow = cboListControl.Items(i)
If StrComp(ToSelectDatabase, objSelectedRow.Row.ItemArray(0).ToString, CompareMethod.Text) = 0 Then
cboListControl.SelectedIndex = i
Exit For
End If
Next
End If
Return True
Catch ex As Exception
ErrorInfo = ex.Message
If m_LogErrorToFile Then LogError("PopulateDBList():" & ex.ToString)
Return False
End Try
End Function
Friend Function PopulateDBList(ByVal dataGridControl As Windows.Forms.DataGrid, _
ByRef ErrorInfo As String) As Boolean
Try
ErrorInfo = ""
Dim DBList_XML As String
DBList_XML = objSQLWebServiceManager.DBList(objLoginInfo.ServerAddress, _
objLoginInfo.UserName, _
objLoginInfo.UserPassword, _
ErrorInfo)
If ErrorInfo <> "" Or DBList_XML = "" Then Return False
Dim objResponse As New DataSet()
Dim Reader As New System.IO.StringReader(DBList_XML.ToString())
Dim XMLReader As New System.Xml.XmlTextReader(Reader)
XMLReader.Read()
objResponse.ReadXml(XMLReader, XmlReadMode.Auto)
objResponse.AcceptChanges()
XMLReader.Close()
dataGridControl.DataSource = objResponse.Tables(0)
Return True
Catch ex As Exception
ErrorInfo = ex.Message
If m_LogErrorToFile Then LogError("PopulateDBList():" & ex.ToString)
Return False
End Try
End Function
Friend Function PopulateDBList(ByVal databasesNode As Windows.Forms.TreeNode, _
ByRef ErrorInfo As String) As Boolean
Try
ErrorInfo = ""
Dim DBList_XML As String
DBList_XML = objSQLWebServiceManager.DBList(objLoginInfo.ServerAddress, _
objLoginInfo.UserName, _
objLoginInfo.UserPassword, _
ErrorInfo)
If ErrorInfo <> "" Or DBList_XML = "" Then Return False
Dim objResponse As New DataSet()
Dim Reader As New System.IO.StringReader(DBList_XML.ToString())
Dim XMLReader As New System.Xml.XmlTextReader(Reader)
XMLReader.Read()
objResponse.ReadXml(XMLReader, XmlReadMode.Auto)
objResponse.AcceptChanges()
XMLReader.Close()
Dim newNode As Windows.Forms.TreeNode = New Windows.Forms.TreeNode()
If (databasesNode.Nodes.Count > 0) Then 'Check we have already listed the DB's.
databasesNode.Nodes.Clear() ' If it so then remove it and rebuild it
End If
Dim objDataRow As DataRow
Dim strNode As String = ""
For Each objDataRow In objResponse.Tables("Databases").Rows
strNode = objDataRow("DATABASE_NAME").ToString()
newNode = databasesNode.Nodes.Add(strNode)
newNode.Tag = "database"
Next
Return True
Catch ex As Exception
ErrorInfo = ex.Message
If m_LogErrorToFile Then LogError("PopulateDBList():" & ex.ToString)
Return False
End Try
End Function