知道数据库某个表名,想远程读取sql2005的字段名及字段类型,比如知道有个table表,想读取它全部的字段名比如name,及字段类型,nvarchar(50),用vb语言应该怎么做?网上查了好久了不知道解决方法。

解决方案 »

  1.   

    ADOX库就可做这种事,你搜下论坛里的ADOX的帖:)
      

  2.   

    给楼主提供一点本地access的代码 看能不能有点帮助
    Dim oCn As ADODB.Connection
    Dim oRs As ADODB.Recordset
    Dim sSql As String
    oCn.ConnectionString = "......................."
    oCn.Open
    ssdql = "select * form tabName where 1<>1"
    Rs.Open sSql.conn, 1, 1
    For i = 0 To Rs.Fields.Count - 1
        Debug.Print Rs.Fields(i).Name & Rs.Fields(i).Type
    Next
    Set oCn = Nothing
      

  3.   

    UPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUPUP
      

  4.   

    谢谢,Rs.Fields(i).Name是读取出来了,好像Rs.Fields(i).Type是一个整数,不知道跟nvarchar(50)跟int等类型怎么对应。
      

  5.   

    nvarchar就是变长串类似VB的string
    ------------------------------------------------------------------------------
    http://topic.csdn.net/t/20010727/10/211553.html
      

  6.   

    问题基本解决,通过获取返回的值做对应判断,如果要获取nvarchar(500)这个500值是通过这个属性来取得的Rs.Fields(i).DefinedSize。
      

  7.   

    读取出来的typy是一个枚举类型,你声明一个DataTypeEnum,对照一下知道了...