譬如:
t1(col1,col2,col3,col4)  这张表我要查询第一列和第二列,也就是col1,col2但是我现在不能知道的是表的列名称是col1和col2,如何进行选择呢??Select _________ From t1请问这里的列怎么写??

解决方案 »

  1.   

    --如果列名未知,只能使用動態SQL語句--建立測試環境
    Create Table t1(col1 Int, col2 Int, col3 Int, col4 Int)
    Insert t1 Select 1, 2, 3, 4
    GO
    --測試
    Declare @S Varchar(100)
    Select @S = ''
    Select @S = @S + ',' + Name From SysColumns Where ID = OBJECT_ID('t1') And ColID < = 2 Order By ColID
    Select @S = 'Select ' + Stuff(@S, 1, 1, '') + ' From t1'
    EXEC(@S)
    --刪除測試環境
    Drop Table t1
    --結果
    /*
    col1 col2
    1 2
    */
      

  2.   

    我假设你不是在存储过程中写这样的句子:
    如果在程序中这样:
        Dim db As New ADODB.Connection
        Dim rec As New ADODB.Recordset
        db.Open "driver={SQL Server};server=" & GetServerName & ";uid=sa;pwd=;database=grain_Buy"
        rec.Open "select * from t1", db, adOpenDynamic, adLockOptimistic
        Do While Not rec.EOF
            debug.print rec.fields(0) & "---" & rec.fields(1)
            rec.MoveNext
        Loop
        rec.Close
        db.Close
        Set rec = Nothing
        Set db = Nothing