1

好吧,我想做的听起来很简单。我想加载一个表单并在表单加载时调用一个返回 1 项并将其放在 TextBox1 中的 sql 语句。这是我到目前为止所拥有的。

 Private Sub Form_Load()

 Call openTheDatabase

 End Sub

 Public Function openTheDatabase() As Boolean

 '-- Here we want to open the database
 Dim sConnectionString As String
 Dim strSQLStmt As String

 '-- Build the connection string
 sConnectionString = "PROVIDER = MSDASQL;driver={SQL Server};database=databasename ;server=servername;uid=;pwd=;"


 strSQLStmt = "SELECT chvDealerName " & _
        "From dbo.tblDealers Where chrVSCAcctNum = '90442001'"

 TextBox1.Text = strSQLStmt

 End Function

编辑

好的,它是 Text1.Text,但现在我只是在文本框中获取字符串,而不是实际的数据库条目

4

1 回答 1

6

您可以在此处查看设置 ADODB 连接的可靠示例:http: //www.timesheetsmts.com/adotutorial.htm

您的项目首先需要引用 ADODB 库。去做这个:

  1. 打开你的项目
  2. 单击顶部的项目菜单,然后单击下拉列表中的引用
  3. 检查“Microsoft ActiveX Data Objects 2.x Library”(x 是您看到的最高数字 - 在我的 Windows XP Pro SP2 框中,它是 2.7)

您的项目示例:

Private Sub Form_Load()

 Call openTheDatabase

 End Sub

 Public Function openTheDatabase() As Boolean

 '-- Here we want to open the database
 Dim sConnectionString As String
 Dim strSQLStmt As String

 '-- Build the connection string
 sConnectionString = "PROVIDER = MSDASQL;driver={SQL Server};database=databasename ;server=servername;uid=;pwd=;"


 strSQLStmt = "SELECT chvDealerName " & _
        "From dbo.tblDealers Where chrVSCAcctNum = '90442001'"

'DB WORK
Dim db As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim result As String

db.ConnectionString = sConnectionString 
db.Open 'open connection

With cmd
  .ActiveConnection = db
  .CommandText = strSQLStmt
  .CommandType = adCmdText
End With

With rs
  .CursorType = adOpenStatic
  .CursorLocation = adUseClient
  .LockType = adLockOptimistic
  .Open cmd
End With

If rs.EOF = False Then
    rs.MoveFirst
    Let result = rs.Fields(0)
End If
'close conns
rs.Close
db.Close
Set db = Nothing
Set cmd = Nothing
Set rs = Nothing


'set local box

' TextBox1.Text = strSQLStmt
TextBox1.Text = result


 End Function
于 2014-01-28T16:59:08.393 回答