请教如何实现数据库的条件查询?

kings_yw 2000-08-11 04:30:00
如何在网页中动态指定数据库查询条件,然后再根据此条件去查询结果?
如: 根据a值(数据库中选取) ,查询b值
需要两个网页吗?


...全文
279 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kings_yw 2000-08-14
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE="JavaScript" RUNAT="server">
function _initRecordset2()
{
var DBConn = Server.CreateObject('ADODB.Connection');
DBConn.ConnectionTimeout = Application('Connection1_ConnectionTimeout');
DBConn.CommandTimeout = Application('Connection1_CommandTimeout');
DBConn.CursorLocation = Application('Connection1_CursorLocation');
DBConn.Open(Application('Connection1_ConnectionString'), Application('Connection1_RuntimeUserName'), Application('Connection1_RuntimePassword'));
var cmdTmp = Server.CreateObject('ADODB.Command');
var rsTmp = Server.CreateObject('ADODB.Recordset');
cmdTmp.ActiveConnection = DBConn;
rsTmp.Source = cmdTmp;
cmdTmp.CommandType = 2;
cmdTmp.CommandTimeout = 10;
cmdTmp.CommandText = 'tbl';
rsTmp.CacheSize = 10;
rsTmp.CursorType = 3;
rsTmp.CursorLocation = 3;
rsTmp.LockType = 3;
Recordset2.setRecordSource(rsTmp);
Recordset2.open();
if (thisPage.getState('pb_Recordset2') != null)
Recordset2.setBookmark(thisPage.getState('pb_Recordset2'));
}
function _Recordset2_ctor()
{
CreateRecordset('Recordset2', _initRecordset2, null);
}
function _Recordset2_dtor()
{
Recordset2._preserveState();
thisPage.setState('pb_Recordset2', Recordset2.getBookmark());
}
</SCRIPT>
<SCRIPT LANGUAGE=JavaScript RUNAT=Server>
function _initListbox1()
{
Recordset2.advise(RS_ONDATASETCOMPLETE, 'Listbox1.setRowSource(Recordset2, \'no\', \'no\');');
Listbox1.setDataSource(Recordset2);
Listbox1.setDataField('no');
}
function _Listbox1_ctor()
{
CreateListbox('Listbox1', _initListbox1, null);
}
</script>
<% Listbox1.display %>
<SCRIPT LANGUAGE="JavaScript" RUNAT="server">
function _initRecordset1()
{
var DBConn = Server.CreateObject('ADODB.Connection');
DBConn.ConnectionTimeout = Application('Connection1_ConnectionTimeout');
DBConn.CommandTimeout = Application('Connection1_CommandTimeout');
DBConn.CursorLocation = Application('Connection1_CursorLocation');
DBConn.Open(Application('Connection1_ConnectionString'), Application('Connection1_RuntimeUserName'), Application('Connection1_RuntimePassword'));
var cmdTmp = Server.CreateObject('ADODB.Command');
var rsTmp = Server.CreateObject('ADODB.Recordset');
cmdTmp.ActiveConnection = DBConn;
rsTmp.Source = cmdTmp;
cmdTmp.CommandType = 1;
cmdTmp.CommandTimeout = 30;
cmdstr='SELECT acct_no, cust_name,tdy_cr_bal FROM cbdb:cbbs.sav_s_mast where acct_no[1,7]='+ listbox1.getvalue;/*这个串如何构成???*/
cmdTmp.CommandText = cmdstr;
rsTmp.CacheSize = 100;
rsTmp.CursorType = 3;
rsTmp.CursorLocation = 3;
rsTmp.LockType = 3;
Recordset1.setRecordSource(rsTmp);
Recordset1.open();
if (thisPage.getState('pb_Recordset1') != null)
Recordset1.setBookmark(thisPage.getState('pb_Recordset1'));
}
function _Recordset1_ctor()
{
CreateRecordset('Recordset1', _initRecordset1, null);
}
function _Recordset1_dtor()
{
Recordset1._preserveState();
thisPage.setState('pb_Recordset1', Recordset1.getBookmark());
}
</SCRIPT>

VictorYu 2000-08-14
  • 打赏
  • 举报
回复
你把你的实验代码发给我或者贴出来,大家看看.这个思路实现是没问题的.
kings_yw 2000-08-14
  • 打赏
  • 举报
回复
还是不行,我用VID中的RS以及listbox实现,如何实现?
VictorYu 2000-08-14
  • 打赏
  • 举报
回复
to kings_yw:
收到我给的MAIL吗?
可能和你要的有点区别,但是原理是一样的.
如果要实现你所说的功能.
一、读出A的内容。
二、设置一个数据绑定控件用来读B的数据。
三、写一个根据传入参数来输出B字段值的ASP。
四、在选择A的时候,将数据绑定控件的DATAURL和A值拼好对数据绑定控件Reset();
这时的数据控件绑定控件就是你想要的B值。
kings_yw 2000-08-14
  • 打赏
  • 举报
回复
很抱歉,各位!
由于我是个ASP新手,不太清楚,请大家见谅!
我的问题是这样的:
假如库内有表如下:
int a
int b
本人想在页面上首先显示a字段的列表,然后通过选择相应的a,再组成相应的动态SQL查询与之对应的b值,请各位高手赐教!
linyu 2000-08-13
  • 打赏
  • 举报
回复
问题太不清楚了,
条件查询当然是动态的,
将条件组合成SQL语句再执行查询就可以了
上面几们把问题想得太复杂了吧
顶楼的再举个清楚的例子吧。
neng21cn 2000-08-12
  • 打赏
  • 举报
回复
我没用过,我想应该可以吧
VictorYu 2000-08-11
  • 打赏
  • 举报
回复
我可以理解是一个字符串的拼装过程吗.
如果你的查询用
Select * from table where ...
在用户端,可以用jscript来拼好字符串.
如果用一项,
可以拼成
Select * from table where a=input.value
如果用其它项
可以拼成
Select * from table where b=input.value



neng21cn 2000-08-11
  • 打赏
  • 举报
回复
可用
if request("b1").count=1 then '若提交
连接库
查询:select b form ku where ziduan=request("d1")
end if
html
<form method="POST" action>
<p><select name="D1" size="1">
<%
开库,查a,循环
%>
<option value="<%=rs("a")%>"><%=rs("a")%></option>
</select><input type="submit" value="Submit" name="B1"></p>
</form>
huntout 2000-08-11
  • 打赏
  • 举报
回复
用連接查詢(inner join, left join...)不行嗎?

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧