A表b字段值存着X表的表名
如何读取X表?
select from 网络上找不到答案,这个数据库查询也许可以?但是无法在asp中使用,asp中该如何写?declare @sql varchar(200)
select @sql='select * from '+字段 from A
exec(@sql)

解决方案 »

  1.   

    A表中应该是多条数据吧?写成存储过程,在ASP中调用。
      

  2.   

    asp为啥不行?先select A表,取出表名,然后再拼接成select * from 表名的语句执行。
    但是不建议在界面中执行sql语句,安全性太低。数据库中执行也行,步骤一样。
    试试
    select @sql= @sql + 'select * from '+字段 + ' go '
    from A
      

  3.   

          set rssh=server.CreateObject("adodb.recordset")
          rssh.Open " select @sql='select citemcode,citemname from '+ctable from fitem where citem_name='工程成本'"
          do while not rssh.EOF
          response.Write ""&rssh("ctable")&""
          rssh.MoveNext
          loop
          rssh.Close
          set rssh=nothing我知道上面写的不对,我是一个没有学过编程的人,能帮我写一下上面这个如何修改吗?谢谢了!
    declare @sql varchar(200)
          select @sql='select citemcode,citemname from '+ctable from fitem where citem_name='工程成本'
    exec(@sql)上面的语句在查询分析器中可以得到正确结果。
      

  4.   


    十分想知道,如何拼接?表名好像不能是变量,asp中如何写?最好给实例,本人自学,N多不懂,谢谢。
      

  5.   

    一般来说:
    打开一个sql connection,
    新建一个sql command
    command.commandtext = "select b字段 from 表A"
    执行command
    返回一个sqldatareader 或者datatable,
    foreach 字段
    {
      string sql = "select * from " + b字段;
       command.commandtext = sql;
      执行command;
      处理返回值;
    }
    表名作为变量给入存储过程只是把sql = "select * from " 这一段在sql中进行,command 类型为storedprocedur.
    这两个方法安全性都很低。asp我没经验,但是我知道肯定行,我做aspx的。
      

  6.   

    dim sql,conn,rs,tableName
    set conn= server.createobject("adodb.connection")
    conn.Open SYSDNS, SYSName, SYSPassWord
    set rs=Server.Createobject("ADODB.Recordset")
    sql="select citemcode,citemname from fitem(存放表名的表) where citem_name='工程成本'"
    rs.open sql,conn,3,1
    tableName=''
    if not rs.eof then
    tableName=rs("citemname ")
    end if
    if tableName<>'' then
    sql="select * from "&rs("citemname ")
    rs.open sql,conn,3,1
    end if 
      

  7.   


    核心的几句可以写成这样吗?sql="select ctable from fitem where citem_name='工程成本'"
    rs.open sql,conn,3,1
    if not rs.eof then
    sql="select citemname from "&rs("ctable")
    rs.open sql,conn,3,1
    response.Write "下面显示不出来"
    response.Write ""&rs("citemname")&""
    end if但是最后不能显示出结果。
      

  8.   

    declare @sql varchar(200)
          select @sql='select citemcode,citemname from '+ctable from fitem where citem_name='工程成本'
    exec(@sql)
    这一句在asp中怎么写?这个可以得到正确结果。