Web页面一个下拉列表框,一个查询按钮,页面打开时将一个表的某个字段扫描进下拉列表框,选中下拉列表中某一项,按下查询按钮,将查询的备注字段(sqlserver中

老Q

Unregistered / Unconfirmed
GUEST, unregistred user!
Web页面一个下拉列表框,一个查询按钮,页面打开时将一个表的某个字段扫描进下拉列表框,选中下拉列表中某一项,按下查询按钮,将查询的备注字段(sqlserver中的text字段,很长有几千几万字)在另一个窗口中显示出来。(200分)<br />[:)]
 
delphi或asp实现皆可
 
等了一天,没有人回答! 555...
 
asp我熟
str="select 主键,显示字段 from 表"
rs.open str
while not rs.eof
<option value="<%=rs("主键")%>"><%=rs("显示字段")%></option>
wend
其它的,form的属性,自已设置吧
在显示页面内接收上面传过来的主键值,
str="select 文本字段 from 表 where 主键="request("下拉框的name")
rs.open str
if not rs.eof then
response.write rs("文本字段")
end if
可以找一些网上现成的例子看一看,还可以对文本进行规范输出
 
自己写吧,原理都写出来了,用ASP很快就搞定了。
别用DELPHI做,麻烦。
 
我作过,是用delphi实现的.
1。
看看我这个程序,对你应该有用处:
procedure TMainform.getyear;
var
ShellWindow: IShellWindows;
nCount: integer;
spDisp: IDispatch;
i,j,X,l: integer;
vi: OleVariant;
IE1: IWebBrowser2;
IDoc1: IHTMLDocument2;
iELC : IHTMLElementCollection ;
S,S2 : string;
HtmlSelEle : IHTMLSelectElement;
htmloption: IHTMLOptionElement;
op:Ihtmlelement;
begin
try
idoc1:=Web.Document as IHTMLDocument2;
ielc:=idoc1.Get_all;
j:=0;
while j<ielc.length-1do
begin
Application.ProcessMessages;
spDisp := ielc.item(J, 0);
if SUCCEEDED(spDisp.QueryInterface(IHTMLselectelement ,HtmlSelEle))then
with HtmlSelEledo
begin
if name='nian' then
begin
for l:=0 to length-1do
begin
remove(0);
j:=j+1;
end;
adq.Close;
adq.SQL.text:='select n from lw group by n';
adq.Open;
while not adq.Eofdo
begin
op:=idoc1.createElement('OPTION');
op.setAttribute('aaa','bbb',0);
htmloption:=op as ihtmloptionelement;
htmloption.text:=adq.fieldbyname('n').asstring;
htmloption.value:='mynianchange/'+adq.fieldbyname('n').AsString;
add(op,htmlselele.length);
adq.Next;
j:=j-1;
end;
htmlselele.selectedIndex:=0;
end;
if name='qi' then
begin
for l:=0 to length-1do
begin
remove(0);
j:=j+1;
end;
adq.Close;
adq.SQL.text:='select q from lw where n=(select min(n) from lw) group by q';
adq.Open;
while not adq.Eofdo
begin
op:=idoc1.createElement('OPTION');
op.setAttribute('aaa','bbb',0);
htmloption:=op as ihtmloptionelement;
htmloption.text:=adq.fieldbyname('q').asstring;
htmloption.value:='myqichange/'+adq.fieldbyname('q').AsString;
add(op,htmlselele.length);
adq.Next;
j:=j-1;
end;
htmlselele.selectedIndex:=-1;
end;
end;
j:=j+1;
end;
except
end;

exit;
end;
2.具体思路就是在查询按钮的onclick事件让其跳转到一特定url,然后在浏览器控件
的onbeforenavigator2事件中截获之......
 
dhl2001大侠,你的方法我已经试过了,基本能够满足要求,只是关于文本规范输出,还不能
令人满意,希望能继续提供帮助,具体就是:数据库中的回车换行如何在Web页面中表现出来,
还有文本的大小,字体等等如何表现。再有一个问题:什么样的数据库什么字段支持文本、
表格、图形混合类型数据?
另xygz大侠,你的代码太复杂了,delphi中的InternetExpress组件应该能做到这样的功能,
我已经调试了数天,就是不能通过,唉...太想用delphi做到了,还有那位大侠能够提供
dephi方面的解决思路?
 
dhl2001大侠,xygz大侠,还有其他的各位大虾,快来帮帮我怎么对文本进行规范输出!
 
回车符,空格,大小于号,单双引号,也即所有在ASP里有特殊格式意义的符号,都需要进行
转换一下,例如空格换为&amp;nb;&amp;sp,这些往上有现成的文件,include一下就行了。
 
这个问题,我已经解决了,谢谢各位!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
867
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部