根据字段名查询数据?

qfn21v01du 2008-06-11 10:34:46
小弟现遇到的问题是在web页面上选择了相应的项后从数据库里面查不出数据来。请各位前辈们帮我看看,谢谢先!

小弟先在BCB6中新建了一个CGI应用程序。
在webmodule上加了TQuery和TDataSetTableProducer。
TQuery的设置:
DatabaseName: BCDEMOS
SQL: select * from employee
Active=true
TDataSetTableProducer的设置:
DataSet=Query1
在Columns中能预览到数据。
然后我在Object TreeView里面Add All Fields。
然后在webmodule增加ActionItem,并且把Default设为true,Enabled设为true。
然后在events里面双击OnAction找到函数体。

下面是OnAction的代码:
AnsiString temp1, temp2;

Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("select * from employee");
temp1 = Request->QueryFields->Values["fd"];
temp2 = "'" + Request->QueryFields->Values["vl'] + "'";
Query1->SQL->Add(" where " + temp1 + " like " + temp2);
Query1->SQL->Add(" order by Salary ");
Query1->PrePare();
Query1->Open();

if (Query1->RecordCount == 0) {
DataSetTableProducer1->Footer->Add("<p>对不起,找不到<p>");
DataSetTableProducer1->Footer->Add("请退回去,重新查询<p>");
}

DataSetTableProducer1->MaxRows = Query1->RecordCount;
Response->Content = DataSetTableProducer1->Content();


下面是网页的代码:
<html>
<head>
<title>GET</title>
</head>
<body>
<form method="get" action="/cgi-bin/webget">
查询列表框选择:<select name="fd">
<option value="FirstName">中文姓名
<option value="LastName">英文姓名
<option value="PhoneExt">电话
<option value="Salary">工资
</select>
<p>
查询值:<input name="vl" value="" maxlength="25" size=25>(可查询相似值)
<hr>
<input type="submit" value="开始查询"><p>
</form>
</body>
</html>
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qfn21v01du 2008-06-17
  • 打赏
  • 举报
回复
自已解决了,原来错误在sql语句中有空格造成的。就是下面这句:
Query1->SQL->Add(" where "+temp1+" like "+temp2);
laowang2 2008-06-14
  • 打赏
  • 举报
回复
没做过cgi的程序,帮顶。

1,316

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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