⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmodbclogon.vb

📁 Visual Basic管理信息系统开发 学生考试系统(源代码)
💻 VB
📖 第 1 页 / 共 2 页
字号:
		Me.cboDrivers.ForeColor = System.Drawing.SystemColors.WindowText
		Me.cboDrivers.IntegralHeight = True
		Me.cboDrivers.Cursor = System.Windows.Forms.Cursors.Default
		Me.cboDrivers.RightToLeft = System.Windows.Forms.RightToLeft.No
		Me.cboDrivers.TabStop = True
		Me.cboDrivers.Visible = True
		Me.cboDrivers.Name = "cboDrivers"
		Me._lblStep3_1.Text = "&DSN:"
		Me._lblStep3_1.Size = New System.Drawing.Size(26, 13)
		Me._lblStep3_1.Location = New System.Drawing.Point(9, 19)
		Me._lblStep3_1.TabIndex = 0
		Me._lblStep3_1.TextAlign = System.Drawing.ContentAlignment.TopLeft
		Me._lblStep3_1.BackColor = System.Drawing.SystemColors.Control
		Me._lblStep3_1.Enabled = True
		Me._lblStep3_1.ForeColor = System.Drawing.SystemColors.ControlText
		Me._lblStep3_1.Cursor = System.Windows.Forms.Cursors.Default
		Me._lblStep3_1.RightToLeft = System.Windows.Forms.RightToLeft.No
		Me._lblStep3_1.UseMnemonic = True
		Me._lblStep3_1.Visible = True
		Me._lblStep3_1.AutoSize = True
		Me._lblStep3_1.BorderStyle = System.Windows.Forms.BorderStyle.None
		Me._lblStep3_1.Name = "_lblStep3_1"
		Me._lblStep3_2.Text = "&UID:"
		Me._lblStep3_2.Size = New System.Drawing.Size(22, 13)
		Me._lblStep3_2.Location = New System.Drawing.Point(9, 42)
		Me._lblStep3_2.TabIndex = 2
		Me._lblStep3_2.TextAlign = System.Drawing.ContentAlignment.TopLeft
		Me._lblStep3_2.BackColor = System.Drawing.SystemColors.Control
		Me._lblStep3_2.Enabled = True
		Me._lblStep3_2.ForeColor = System.Drawing.SystemColors.ControlText
		Me._lblStep3_2.Cursor = System.Windows.Forms.Cursors.Default
		Me._lblStep3_2.RightToLeft = System.Windows.Forms.RightToLeft.No
		Me._lblStep3_2.UseMnemonic = True
		Me._lblStep3_2.Visible = True
		Me._lblStep3_2.AutoSize = True
		Me._lblStep3_2.BorderStyle = System.Windows.Forms.BorderStyle.None
		Me._lblStep3_2.Name = "_lblStep3_2"
		Me._lblStep3_3.Text = "密码(&P):"
		Me._lblStep3_3.Size = New System.Drawing.Size(49, 13)
		Me._lblStep3_3.Location = New System.Drawing.Point(9, 65)
		Me._lblStep3_3.TabIndex = 4
		Me._lblStep3_3.TextAlign = System.Drawing.ContentAlignment.TopLeft
		Me._lblStep3_3.BackColor = System.Drawing.SystemColors.Control
		Me._lblStep3_3.Enabled = True
		Me._lblStep3_3.ForeColor = System.Drawing.SystemColors.ControlText
		Me._lblStep3_3.Cursor = System.Windows.Forms.Cursors.Default
		Me._lblStep3_3.RightToLeft = System.Windows.Forms.RightToLeft.No
		Me._lblStep3_3.UseMnemonic = True
		Me._lblStep3_3.Visible = True
		Me._lblStep3_3.AutoSize = True
		Me._lblStep3_3.BorderStyle = System.Windows.Forms.BorderStyle.None
		Me._lblStep3_3.Name = "_lblStep3_3"
		Me._lblStep3_4.Text = "数据库(&B):"
		Me._lblStep3_4.Size = New System.Drawing.Size(49, 13)
		Me._lblStep3_4.Location = New System.Drawing.Point(9, 88)
		Me._lblStep3_4.TabIndex = 6
		Me._lblStep3_4.TextAlign = System.Drawing.ContentAlignment.TopLeft
		Me._lblStep3_4.BackColor = System.Drawing.SystemColors.Control
		Me._lblStep3_4.Enabled = True
		Me._lblStep3_4.ForeColor = System.Drawing.SystemColors.ControlText
		Me._lblStep3_4.Cursor = System.Windows.Forms.Cursors.Default
		Me._lblStep3_4.RightToLeft = System.Windows.Forms.RightToLeft.No
		Me._lblStep3_4.UseMnemonic = True
		Me._lblStep3_4.Visible = True
		Me._lblStep3_4.AutoSize = True
		Me._lblStep3_4.BorderStyle = System.Windows.Forms.BorderStyle.None
		Me._lblStep3_4.Name = "_lblStep3_4"
		Me._lblStep3_5.Text = "驱动(&V):"
		Me._lblStep3_5.Size = New System.Drawing.Size(31, 13)
		Me._lblStep3_5.Location = New System.Drawing.Point(9, 111)
		Me._lblStep3_5.TabIndex = 8
		Me._lblStep3_5.TextAlign = System.Drawing.ContentAlignment.TopLeft
		Me._lblStep3_5.BackColor = System.Drawing.SystemColors.Control
		Me._lblStep3_5.Enabled = True
		Me._lblStep3_5.ForeColor = System.Drawing.SystemColors.ControlText
		Me._lblStep3_5.Cursor = System.Windows.Forms.Cursors.Default
		Me._lblStep3_5.RightToLeft = System.Windows.Forms.RightToLeft.No
		Me._lblStep3_5.UseMnemonic = True
		Me._lblStep3_5.Visible = True
		Me._lblStep3_5.AutoSize = True
		Me._lblStep3_5.BorderStyle = System.Windows.Forms.BorderStyle.None
		Me._lblStep3_5.Name = "_lblStep3_5"
		Me._lblStep3_6.Text = "服务器(&S):"
		Me._lblStep3_6.Size = New System.Drawing.Size(34, 13)
		Me._lblStep3_6.Location = New System.Drawing.Point(9, 134)
		Me._lblStep3_6.TabIndex = 10
		Me._lblStep3_6.TextAlign = System.Drawing.ContentAlignment.TopLeft
		Me._lblStep3_6.BackColor = System.Drawing.SystemColors.Control
		Me._lblStep3_6.Enabled = True
		Me._lblStep3_6.ForeColor = System.Drawing.SystemColors.ControlText
		Me._lblStep3_6.Cursor = System.Windows.Forms.Cursors.Default
		Me._lblStep3_6.RightToLeft = System.Windows.Forms.RightToLeft.No
		Me._lblStep3_6.UseMnemonic = True
		Me._lblStep3_6.Visible = True
		Me._lblStep3_6.AutoSize = True
		Me._lblStep3_6.BorderStyle = System.Windows.Forms.BorderStyle.None
		Me._lblStep3_6.Name = "_lblStep3_6"
		Me.Controls.Add(cmdCancel)
		Me.Controls.Add(cmdOK)
		Me.Controls.Add(_fraStep3_0)
		Me._fraStep3_0.Controls.Add(txtUID)
		Me._fraStep3_0.Controls.Add(txtPWD)
		Me._fraStep3_0.Controls.Add(txtDatabase)
		Me._fraStep3_0.Controls.Add(cboDSNList)
		Me._fraStep3_0.Controls.Add(txtServer)
		Me._fraStep3_0.Controls.Add(cboDrivers)
		Me._fraStep3_0.Controls.Add(_lblStep3_1)
		Me._fraStep3_0.Controls.Add(_lblStep3_2)
		Me._fraStep3_0.Controls.Add(_lblStep3_3)
		Me._fraStep3_0.Controls.Add(_lblStep3_4)
		Me._fraStep3_0.Controls.Add(_lblStep3_5)
		Me._fraStep3_0.Controls.Add(_lblStep3_6)
		Me.fraStep3.SetIndex(_fraStep3_0, CType(0, Short))
		Me.lblStep3.SetIndex(_lblStep3_1, CType(1, Short))
		Me.lblStep3.SetIndex(_lblStep3_2, CType(2, Short))
		Me.lblStep3.SetIndex(_lblStep3_3, CType(3, Short))
		Me.lblStep3.SetIndex(_lblStep3_4, CType(4, Short))
		Me.lblStep3.SetIndex(_lblStep3_5, CType(5, Short))
		Me.lblStep3.SetIndex(_lblStep3_6, CType(6, Short))
		CType(Me.lblStep3, System.ComponentModel.ISupportInitialize).EndInit()
		CType(Me.fraStep3, System.ComponentModel.ISupportInitialize).EndInit()
	End Sub
#End Region 
#Region "升级支持"
	Private Shared m_vb6FormDefInstance As frmODBCLogon
	Private Shared m_InitializingDefInstance As Boolean
	Public Shared Property DefInstance() As frmODBCLogon
		Get
			If m_vb6FormDefInstance Is Nothing OrElse m_vb6FormDefInstance.IsDisposed Then
				m_InitializingDefInstance = True
				m_vb6FormDefInstance = New frmODBCLogon()
				m_InitializingDefInstance = False
			End If
			DefInstance = m_vb6FormDefInstance
		End Get
		Set
			m_vb6FormDefInstance = Value
		End Set
	End Property
#End Region 
	Private Declare Function SQLDataSources Lib "ODBC32.DLL" (ByVal henv As Integer, ByVal fDirection As Short, ByVal szDSN As String, ByVal cbDSNMax As Short, ByRef pcbDSN As Short, ByVal szDescription As String, ByVal cbDescriptionMax As Short, ByRef pcbDescription As Short) As Short
	Private Declare Function SQLAllocEnv Lib "ODBC32.DLL" (ByRef env As Integer) As Short
	Const SQL_SUCCESS As Integer = 0
	Const SQL_FETCH_NEXT As Integer = 1
	
	
	Private Sub cmdCancel_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdCancel.Click
		Me.Close()
	End Sub
	
	Private Sub cmdOK_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdOK.Click
		Dim sConnect As String
		Dim sADOConnect As String
		Dim sDAOConnect As String
		Dim sDSN As String
		
		If cboDSNList.SelectedIndex > 0 Then
			sDSN = "DSN=" & cboDSNList.Text & ";"
		Else
			sConnect = sConnect & "Driver=" & cboDrivers.Text & ";"
			sConnect = sConnect & "Server=" & txtServer.Text & ";"
		End If
		
		sConnect = sConnect & "UID=" & txtUID.Text & ";"
		sConnect = sConnect & "PWD=" & txtPWD.Text & ";"
		
		If Len(txtDatabase.Text) > 0 Then
			sConnect = sConnect & "Database=" & txtDatabase.Text & ";"
		End If
		
		sADOConnect = "PROVIDER=MSDASQL;" & sDSN & sConnect
		sDAOConnect = "ODBC;" & sDSN & sConnect
		
		MsgBox("要打开一个ADO 连接,使用: " & vbCrLf & "Set gConnection = New Connection" & vbCrLf & "gConnection.Open """ & sADOConnect & """" & vbCrLf & vbCrLf & "要打开一个DAO 数据库对象,使用: " & vbCrLf & "设置 gDatabase = OpenDatabase(vbNullString, 0, 0, sDAOConnect)" & vbCrLf & vbCrLf & "或打开一个 RDO 连接, 使用:" & vbCrLf & "设置 gRDOConnection = rdoEnvironments(0).OpenConnection(sDSN, rdDriverNoPrompt, 0, sConnect)")
		
		'设置 gDatabase = OpenDatabase(vbNullString, 0, 0, sDAOConnect)
		'RDO:
		'设置 gRDOConnection = rdoEnvironments(0).OpenConnection(sDSN, rdDriverNoPrompt, 0, sConnect)
	End Sub
	
	Private Sub frmODBCLogon_Load(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles MyBase.Load
		GetDSNsAndDrivers()
	End Sub
	
	'UPGRADE_WARNING: 初始化窗体时可能激发事件 cboDSNList.SelectedIndexChanged。 单击以获得更多信息:“ms-help://MS.VSCC.2003/commoner/redir/redirect.htm?keyword="vbup2075"”
	Private Sub cboDSNList_SelectedIndexChanged(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cboDSNList.SelectedIndexChanged
		On Error Resume Next
		If cboDSNList.Text = "(None)" Then
			txtServer.Enabled = True
			cboDrivers.Enabled = True
		Else
			txtServer.Enabled = False
			cboDrivers.Enabled = False
		End If
	End Sub
	
	Sub GetDSNsAndDrivers()
		Dim i As Short
		Dim sDSNItem As New VB6.FixedLengthString(1024)
		Dim sDRVItem As New VB6.FixedLengthString(1024)
		Dim sDSN As String
		Dim sDRV As String
		Dim iDSNLen As Short
		Dim iDRVLen As Short
		Dim lHenv As Integer '环境句柄
		
		On Error Resume Next
		cboDSNList.Items.Add("(None)")
		
		'获得 DSNs
		If SQLAllocEnv(lHenv) <> -1 Then
			Do Until i <> SQL_SUCCESS
				sDSNItem.Value = Space(1024)
				sDRVItem.Value = Space(1024)
				i = SQLDataSources(lHenv, SQL_FETCH_NEXT, sDSNItem.Value, 1024, iDSNLen, sDRVItem.Value, 1024, iDRVLen)
				sDSN = VB.Left(sDSNItem.Value, iDSNLen)
				sDRV = VB.Left(sDRVItem.Value, iDRVLen)
				
				If sDSN <> Space(iDSNLen) Then
					cboDSNList.Items.Add(sDSN)
					cboDrivers.Items.Add(sDRV)
				End If
			Loop 
		End If
		'删除重复项
		If cboDSNList.Items.Count > 0 Then
			With cboDrivers
				If .Items.Count > 1 Then
					i = 0
					While i < .Items.Count
						If VB6.GetItemString(cboDrivers, i) = VB6.GetItemString(cboDrivers, i + 1) Then
							.Items.RemoveAt((i))
						Else
							i = i + 1
						End If
					End While
				End If
			End With
		End If
		cboDSNList.SelectedIndex = 0
	End Sub
End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -