怎么样在Web上做一个像 Query Analyzer 工具的东西,用户可以自己组织SQL语句,执行并返回数据集,动态生成表格显示出来?

时间:2020-12-07 15:56:51
怎么样在Web上做一个像 Query Analyzer 工具的东西,用户可以自己组织SQL语句,执行并返回数据集,动态生成表格显示出来?

11 个解决方案

#1


有做的人没有??

#2


怎么样在Web上做一个像 Query Analyzer 工具的东西,用户可以自己组织SQL语句,执行并返回数据集,动态生成表格显示出来?

#3


做过的同志出来指点一下?

#4


个人感觉这个应该不是很难的。
但是,你不可能让用户自己去输入SQL语句吧?(要求也太高了。)
真正的难点和重点在于,如何把界面做得更人性化。

如果你一定要做,那么大概思路是:
连接这些就不说了。
获得字段数,循环读出字段名,生成表头。
根据字段数,循环读出第一条记录,放进表格的第二行(第一行是表头)。
循环记录数,读取所有记录。(实际上这个才是外层循环。)
生成表格脚。

具体实现你多试试就OK了。表格应用好才行!如果搞不清楚TD/TR,那还是先去熟悉熟悉HTML再说。我到目前为止还不能得心应手地写表格代码呢。惭愧,惭愧。 :_)

#5


to Estyle(靳田)

    其实客户没有这样的要求,我只是为了方便自己维护而已。
    
    你是怎么得到字段名的???比如 有别名的字段?

#6


获取字段名的最简单的方法:
Recordset(i).Name
i循环,从0到Recordset.Fields.Count-1
别名?你是说的“友好字段名”吗?这个我还没有注意过。
试试再说。————估计应该可以直接获取。

#7


我试过了,如果你使用友好列标题,可以直接获取字段名:
我用以下语句查询了northwind数据库:
select 定单号=orderid from orders
然后通过rs(0).name获得的是“定单号”!OK?

#8


<HTML>
<Title>SOL语句执行示例 </Title>
<Body BgColor=#aaaaff>
<Form Name=FormGet1 Method=Post Action="Ch12_3.asp">
<FieldSet>
<Legend>请输入 Select SQL语句</Legend>
指令:<Input type="text" name="SQL_Statement" Size=60> <p>
<Input type="Submit" Value="送出"> <p>
</FieldSet>
</Form>
<Hr>
<%
 SQL_Statement=Request("SQL_Statement")
if SQL_Statement<>Empty then
 '声明Connection(数据库链接)对象
  Set DBConnection= Server.CreateObject("ADODB.Connection")
   '设置与数据库链接的链接字符串
 ConnectionString ="Provider=SQLOLEDB.1;Server=W2k;UID=SiteAdmin;PWD=12345"
  '打开链接数据库的信道
  DBConnection.Open  ConnectionString
 '声明使用Recordset对象接收SQL查询所返回的值
  Set RS=DBConnection.Execute(SQL_Statement) 
  Response.Write "<CENTER><TABLE BORDER=1><TR BGCOLOR=#00FFFF>"
  For i=0 to RS.Fields.Count-1
     Response.Write "<TD>" & RS(i).Name & "</TD>"
  Next
  While not RS.Eof
       Row = "<TR BGCOLOR=#FFFF00> "
       For j=0 to RS.Fields.Count-1
        '使用RS(j)取出第j个字段的数据
        Row = Row & "<TD>" & Rs(j) & "</TD>"  
       Next
       Response.Write Row & "</TR>"
       RS.MoveNext '移到下一条
  Wend
  Response.Write "</TABLE></CENTER>"
end if
%>
</Body>
</HTML>

#9


不知道我的理解对不对?

#10


对的,楼上的朋友的代码就是你说需要的。
虽然我觉得这些代码还是应该自己动手比较好……

#11


谢谢各位了,我怎么没有想到循环RS。惭愧:)

结帐

#1


有做的人没有??

#2


怎么样在Web上做一个像 Query Analyzer 工具的东西,用户可以自己组织SQL语句,执行并返回数据集,动态生成表格显示出来?

#3


做过的同志出来指点一下?

#4


个人感觉这个应该不是很难的。
但是,你不可能让用户自己去输入SQL语句吧?(要求也太高了。)
真正的难点和重点在于,如何把界面做得更人性化。

如果你一定要做,那么大概思路是:
连接这些就不说了。
获得字段数,循环读出字段名,生成表头。
根据字段数,循环读出第一条记录,放进表格的第二行(第一行是表头)。
循环记录数,读取所有记录。(实际上这个才是外层循环。)
生成表格脚。

具体实现你多试试就OK了。表格应用好才行!如果搞不清楚TD/TR,那还是先去熟悉熟悉HTML再说。我到目前为止还不能得心应手地写表格代码呢。惭愧,惭愧。 :_)

#5


to Estyle(靳田)

    其实客户没有这样的要求,我只是为了方便自己维护而已。
    
    你是怎么得到字段名的???比如 有别名的字段?

#6


获取字段名的最简单的方法:
Recordset(i).Name
i循环,从0到Recordset.Fields.Count-1
别名?你是说的“友好字段名”吗?这个我还没有注意过。
试试再说。————估计应该可以直接获取。

#7


我试过了,如果你使用友好列标题,可以直接获取字段名:
我用以下语句查询了northwind数据库:
select 定单号=orderid from orders
然后通过rs(0).name获得的是“定单号”!OK?

#8


<HTML>
<Title>SOL语句执行示例 </Title>
<Body BgColor=#aaaaff>
<Form Name=FormGet1 Method=Post Action="Ch12_3.asp">
<FieldSet>
<Legend>请输入 Select SQL语句</Legend>
指令:<Input type="text" name="SQL_Statement" Size=60> <p>
<Input type="Submit" Value="送出"> <p>
</FieldSet>
</Form>
<Hr>
<%
 SQL_Statement=Request("SQL_Statement")
if SQL_Statement<>Empty then
 '声明Connection(数据库链接)对象
  Set DBConnection= Server.CreateObject("ADODB.Connection")
   '设置与数据库链接的链接字符串
 ConnectionString ="Provider=SQLOLEDB.1;Server=W2k;UID=SiteAdmin;PWD=12345"
  '打开链接数据库的信道
  DBConnection.Open  ConnectionString
 '声明使用Recordset对象接收SQL查询所返回的值
  Set RS=DBConnection.Execute(SQL_Statement) 
  Response.Write "<CENTER><TABLE BORDER=1><TR BGCOLOR=#00FFFF>"
  For i=0 to RS.Fields.Count-1
     Response.Write "<TD>" & RS(i).Name & "</TD>"
  Next
  While not RS.Eof
       Row = "<TR BGCOLOR=#FFFF00> "
       For j=0 to RS.Fields.Count-1
        '使用RS(j)取出第j个字段的数据
        Row = Row & "<TD>" & Rs(j) & "</TD>"  
       Next
       Response.Write Row & "</TR>"
       RS.MoveNext '移到下一条
  Wend
  Response.Write "</TABLE></CENTER>"
end if
%>
</Body>
</HTML>

#9


不知道我的理解对不对?

#10


对的,楼上的朋友的代码就是你说需要的。
虽然我觉得这些代码还是应该自己动手比较好……

#11


谢谢各位了,我怎么没有想到循环RS。惭愧:)

结帐