我要select一个表,查出第一个字段或第二个字段的值,但是我不知道字段名字,有什么办法?

解决方案 »

  1.   

    select * from tablenameSqlDataReader dr=.....;
    if(dr.Read())
    {
      dr[0].ToString();//第一个字段
    }
      

  2.   

    select * from tablename
    默认情况下会按数据库顺序查询出来,如果放到dataset中可以这样处理
    DataSet ds=new DataSet();
    string firstfield=ds.Table[0].Rows[0][0].ToString();//first
    string secendfield=ds.Table[0].Rows[0][1].ToString();//secend
      

  3.   

    select * from tablenameSqlDataReader dr=.....;
    if(dr.Read())
    {
      dr[0].ToString();//第一个字段
    }
      

  4.   

    拜托,我这是直接用Sql呀,不是代码里的
      

  5.   

    cmd.ExecuteScalar 
    返回第一行第一列
      

  6.   

    知道表名吗?知道表名的话利用系统表可以获取这个表的结构数据,详细办法去sqlserver版搜索帖子,好像是用sysobject表来着
      

  7.   

    我现在是直接用SQL语句再查询分析器中直接查呀
      

  8.   

    @name 是临时字段变量, tb2是表名, colid=1表示第几列declare @name varchar(100)
    select @name=name from syscolumns 
    where id = object_id('tb2') and colid=1
    execute('select '+ @name + ' from tb2')
      

  9.   

    再打扰大家一下,我现在已经再查询分析器中得到了这样的结果 
    select CarrierId from Carrier
    CarrierId
    1
    2
    3
    4
    有没有什么办法能通过Sql得到这种形式的结果呀:1,2,3,4
      

  10.   

    declare @var varchar(1000)
    set @var=''
    select @var=@var+ cast(CarrierId as varchar(100)) from Carrier
    select @var
      

  11.   

    改一下:declare @var varchar(1000)
    set @var=''
    select @var=@var+ ',' + cast(CarrierId as varchar(100)) from Carrier
    select stuff(@var,1,1,'')
      

  12.   

    看了半天才知道最后是个数据库问题,怎么放到asp。net上来鸟
      

  13.   

    其实这个是个纯数据库的问题,也很简单,就是select top 2 不就可以了吗??
    干吗还迂回老半天呢