select * from sysobjects where xtype='U'      '列出所有用户表select * from sysobjects where xtype='S'      '列出所有系统表select * from sysobjects where xtype='P'      '列出所有存储过程

解决方案 »

  1.   

    SELECT name
    FROM sysobjects
    WHERE (LTRIM(RTRIM(xtype)) = 'U ')
      

  2.   

    我不是希望要表,而是要数据库名,例如在进oracle时系统会让你选择想进哪一个数据库,此时可以通过下拉框进行选择,我就是想得到这个。
      

  3.   

    SELECT name
    FROM sysdatabases
      

  4.   

    Oracle:
    select * from sys 
    具体那个字段你可以显示看看。
      

  5.   

    Private Sub cmdConnect_Click()
     Dim strConnection As String
      Dim hItem As Long
      Dim hChildItem As Long
      Dim longChildCount As Long
      Dim longCount As Long
      Dim strName As String
        
      strConnection = String(255, 0)
      
      If txtServer.Text = "" Or IsNull(txtServer.Text) Then
         MsgBox " 请输入要连接的SQL Server 数据库服务器名!"
         Exit Sub
      End If
      
      If txtUserName.Text = "" Or IsNull(txtUserName.Text) Then
         MsgBox " 请输入用户名!"
         Exit Sub
      End If
      
      strConnection = "Server=" + txtServer + ";"
      strConnection = strConnection + "UID=" + txtUserName + ";"
      strConnection = strConnection + "PWD=" + txtPassword + ";"
      
      If Not sqlNsSpace Is Nothing Then
         Set sqlNsSpace = Nothing
      End If
      
    Set sqlNsSpace = New SQLNamespace
       On Error Resume Next
      sqlNsSpace.Initialize "SQL Server Object Name", SQLNSRootType_Server, CStr(strConnection), hWnd
      
      If (Err.Number <> 0) Or (sqlNsSpace Is Nothing) Then
            Set sqlNsSpace = Nothing
            MsgBox "  初始化失败! ", vbOKOnly, "错误"
            Exit Sub
      End If  hItem = sqlNsSpace.GetRootItem
      longChildCount = sqlNsSpace.GetChildrenCount(hItem)
        
      If longChildCount = 0 Then
          Exit Sub
      End If
      
      For longCount = 1 To longChildCount
          
          If longCount = 1 Then
             hChildItem = sqlNsSpace.GetFirstChildItem(hItem, SQLNSOBJECTTYPE_EMPTY, vbNullString)
          Else
             hChildItem = sqlNsSpace.GetNextSiblingItem(hChildItem, SQLNSOBJECTTYPE_EMPTY, vbNullString)
          End If
          
          strName = sqlNsSpace.GetName(hChildItem)
          If strName = "Databases" Then
             AddToList hChildItem, ListDataBase
             cmdConnect.Enabled = False
             cmdDisconnect.Enabled = True
             Exit Sub
          End If
     
      NextEnd SubPrivate Sub AddToList(longItem As Long, listObject As ListBox)
      
      Dim longChildCount As Long
      Dim longCount As Long
      Dim longChildItem As Long
      Dim strName As String
      
      longChildCount = sqlNsSpace.GetChildrenCount(longItem)
      If longChildCount = 0 Then
         Exit Sub
      End If
      
      listObject.Clear
      
      For longCount = 1 To longChildCount
          
          If longCount = 1 Then
             longChildItem = sqlNsSpace.GetFirstChildItem(longItem, SQLNSOBJECTTYPE_EMPTY, vbNullString)
          Else
             longChildItem = sqlNsSpace.GetNextSiblingItem(longChildItem, SQLNSOBJECTTYPE_EMPTY, vbNullString)
          End If
       
          strName = sqlNsSpace.GetName(longChildItem)
           
          listObject.AddItem strName, longCount - 1
          listObject.ItemData(longCount - 1) = longChildItem
          
      Next
      
    End Sub
    Private Sub Form_Load()
    '设置数据库的用户名
    txtUserName.Text = "sa"
    Set sqlNsSpace = New SQLNamespace
    End Sub以前做的一个程序
    用SQLNamespace对象,很方便的,还可以列出库中的表,表中的字段
    [email protected]
      

  6.   

    有没有关于oracle数据库方面的
      

  7.   

    Oracle:
    select * from sys 
    具体那个字段你可以显示看看。
    没有???
      

  8.   

    列举sql7.0数据库名
    引用 Microsoft SQLDMO object libary
    Dim SQLServerX As New SQLDMO.SQLServer
    SQLServerX.Connect "sServerName", "sa","" 
    Dim i As Integer
    For i = 0 To SQLServerX.Databases.Count - 1
        Debug.Print SQLServerX.Databases.Item(i + 1).Name
        Debug.Print SQLServerX.Databases.Item(i + 1).PrimaryFilePath
    Next i