首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

[SQL语句如何写?]怎么选择某表的某几列(列序号知道,但列名称不知道)

2012-02-10 
[求一个SQL语句怎么写?]如何选择某表的某几列(列序号知道,但列名称不知道)譬如:t1(col1,col2,col3,col4)这

[求一个SQL语句怎么写?]如何选择某表的某几列(列序号知道,但列名称不知道)
譬如:
t1(col1,col2,col3,col4)     这张表

我要查询第一列和第二列,也就是col1,col2

但是我现在不能知道的是表的列名称是col1和col2,如何进行选择呢??

Select   _________   From   t1

请问这里的列怎么写??

[解决办法]
--如果列名未知,只能使用動態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
--結果
/*
col1col2
12
*/
[解决办法]
我假设你不是在存储过程中写这样的句子:
如果在程序中这样:
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

[解决办法]
楼上的比较实用

热点排行