📄 uwdm.pas
字号:
dstpselect.MaxRows:=RecordCount;
end;
Result:=ppQueryselect.Content;
tbooks.Close;
end;
// 删除图书单内的书目
function TWebModule1.DeleteItem(INPUT: OleVariant): OleVariant;
begin
ParamList:=TStringList.Create;
ParamList.Text:=INPUT;
with Query do
begin
Close;
SQL.Clear;
parameters.Clear;
SQL.Add('DELETE FROM TEMPbooks WHERE USERID=:USER_ID AND bookID=:PROD_ID');
parameters.ParamByName('USER_ID').Value:=ParamList.Values['USERID'];
parameters.ParamByName('PROD_ID').Value:=ParamList.Values['bookID'];
ExecSQL;
end;
ParamList.Free;
end;
//进入最终提交书目的页面
function TWebModule1.postbooks(INPUT: OleVariant): OleVariant;
begin
USER_ID:=INPUT;
Result:=pppost.Content;
end;
// 把最终推荐的书目写入数据库中
function TWebModule1.Postall(INPUT,input1: OleVariant): OleVariant;
var KeyTemp:TDateTime;
i:Integer;
begin
try
KeyTemp:=Now;
ParamList:=TStringList.Create;
ParamList.Text:=INPUT;
with Query do
begin
// 写入推荐者的基本数据
Close;
SQL.Clear;
parameters.Clear;
SQL.Add('INSERT INTO ORDERM (ORDER_ID,NAME_TX,PHONE_TX,depart) ');
SQL.Add(' VALUES(:ORDER_ID,:NAME_TX,:PHONE_TX,:ADDR_TX)');
parameters.ParamByName('ORDER_ID').Value:=KeyTemp;
parameters.ParamByName('NAME_TX').value:=ParamList.Values['NAME_TX'];
parameters.ParamByName('PHONE_TX').value:=ParamList.Values['PHONE_TX'];
parameters.ParamByName('ADDR_TX').value:=ParamList.Values['ADDR_TX'];
// parameters.ParamByName('CREDIT_NM').value:=StrToFloat(ParamList.Values['CREDIT_NM']);
ExecSQL;
// 写入用户推荐了哪些书目
Close;
SQL.Clear;
parameters.Clear;
SQL.Add('INSERT INTO buybooks (ORDER_ID,bookID,NuM) ');
SQL.Add(' VALUES(:ORDER_ID,:PROD_ID,:COUNT_NM)');
for i:=0 to StrToInt(ParamList.Values['PCOUNT'])-1 do
begin
parameters. ParamByName('ORDER_ID').value:=KeyTemp;
parameters. ParamByName('PROD_ID').value:=ParamList.Values['bookid'+IntToStr(i)];
parameters.ParamByName('COUNT_NM').value:=1;
ExecSQL;
end;
// 删除图书单内的书目数据
Close;
SQL.Clear;
parameters.Clear;
SQL.Add('DELETE FROM TEMPbooks where USERID=:USER_ID ');
parameters.ParamByName('USER_ID').value:=input1;
ExecSQL;
end;
ParamList.Free;
Result:='您所需图书的目录已经成功提交给图书馆,我们会尽力购买,谢谢您的支持。';
result:=result+ '<P><A HREF="/netbook/home.htm">返回首页</A>'
except
Result:='提交失败,请回上一页重新输入。';
result:=result+ '<P><A HREF="/netbook/pcgidemo.exe/pay">返回上一页</A>'
end;
end;
//产生图书分类类目查询组合框和查询结果列表
procedure TWebModule1.ppselectingHTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String);
begin
if TagString='CATEGORY' then ReplaceText:=GenCATEGORYSelectHTML;
if TagString='PRODUCT' then ReplaceText:=GenbooksgridHTML;
end;
//产生图书单书目列表
procedure TWebModule1.ppqueryselectHTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String);
begin
if TagString='PRODDATA' then ReplaceText:=dstpselect.Content;
end;
//计算字段,产生删除标记
procedure TWebModule1.qselectCalcFields(DataSet: TDataSet);
begin
with DataSet do
begin
FieldByName('LINK_TX').AsString:='<A HREF="'+URL_PATH+'/DeleteItem?USERID='+
FieldByName('USERID').AsString+'&bookID='+FieldByName('bookID').AsString+
'"><IMG SRC="/netbook/Delete.Gif" BORDER=0></A>';
end;
end;
// 产生提交书目数据页面
procedure TWebModule1.pppostHTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String);
var tt:String;
begin
if TagString='PRODUCT' then
begin
// 产生提交书目数据页面,包含书目信息隐藏字段
ct:=0;
with qpost do
begin
Close;
parameters.ParamByName('USER_ID').Value:=USER_ID;
Open;
dstpqpost.MaxRows:=RecordCount;
tt:=IntToStr(RecordCount);
end;
ReplaceText:='<INPUT TYPE="HIDDEN" NAME="PCOUNT" VALUE="'+tt+'">'+dstpqpost.Content;
end;
end;
//计算字段
procedure TWebModule1.qpostCalcFields(DataSet: TDataSet);
begin
// 产生推荐书目数据的隐藏字段——图书代码
with DataSet do
begin
FieldByName('PRODID_TX').AsString:='1<INPUT TYPE="HIDDEN" NAME="bookid'+
IntToStr(ct)+'" VALUE="'+FieldByName('bookID').AsString+'">';
end;
Inc(ct);
end;
//处理用户登录
procedure TWebModule1.WebModule1loginAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var f:Integer;
cook:TStringList;
begin
INPUT:=VarArrayCreate([0,1],varVariant);
INPUT[0]:=Request.ContentFields.Values['USER_ID'];
INPUT[1]:=Request.ContentFields.Values['PASS_TX'];
f:=Login(INPUT);
if f=1 then
begin
Response.Content:='找不到此用户帐号,请单击下面链接进行新用户登录'+
'<P><A HREF="/netbook/NewUser.htm">新用户登录</A>';
Exit;
end;
if f=2 then
begin
Response.Content:='密码错误,请重新输入!'+
'<P><A HREF="/netbook/home.htm">返回上一页</A>';
Exit;
end;
// 把USER_ID 写入 Client 的 Cookie 内
cook:=TStringList.Create;
cook.Add('USER_ID='+INPUT[0]);
Response.SetCookieField(cook, '', '', Now+1, False);
cook.Free;
Response.Content:=ppmain.Content;
end;
//计算字段,产生复选框字段和书籍题名超链接字段
procedure TWebModule1.qquerybooksCalcFields(DataSet: TDataSet);
begin
// 产生书目选取字段 和书籍题名的详细信息超链接字段
with DataSet do
begin
FieldByName('CHECK_TX').AsString:='<input type="checkbox" name="'+
FieldByName('bookID').AsString+'" value="'+
FieldByName('bookID').AsString+'">';
FieldByName('href_title').AsString:='<a href="'+url_path
+'/querybookdetail?bookid='+fieldbyname('bookid').Value+'">'+
fieldbyname('title').Value+'</a>';
end;
end;
//处理新用户注册
procedure TWebModule1.WebModule1postnewuserAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.Content:=PostNewUser(Request.ContentFields.Text);
end;
//处理进入征询图书页面的默认页面项
procedure TWebModule1.WebModule1selectingAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
cook:tstringlist;
begin
Response.Content:=selecting('tp306');
cook:=tstringlist.Create;
cook.Add('cate_id=tp306');
response.SetCookieField(cook,'','',now+1,false);
cook.Free;
end;
//以图书分类类目查询书目数据
procedure TWebModule1.WebModule1querycategoryAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
cook:tstringlist;
begin
Response.Content:=selecting(Request.ContentFields.Values['CATE_ID']);
cook:=tstringlist.Create;
cook.Add('cate_id='+request.ContentFields.Values['cate_id']);
response.SetCookieField(cook,'','',now+1,false);
cook.Free;
end;
//处理用户选择推荐书目的动作
procedure TWebModule1.WebModule1selectbooksAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
selectbooks(Request.CookieFields.Values['USER_ID'],
Request.ContentFields.Text);
Response.Content:=selecting('tp306'); //返回默认的页面
handled:=true;
end;
//查询图书单
procedure TWebModule1.WebModule1queryselectAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.Content:=Queryselect(Request.CookieFields.Values['USER_ID']);
end;
//删除图书单内的书目
procedure TWebModule1.WebModule1deleteitemAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
DeleteItem(Request.QueryFields.Text);
Response.Content:=Queryselect(Request.CookieFields.Values['USER_ID']);
handled:=true;
end;
//进入最终提交书目的页面
procedure TWebModule1.WebModule1postbooksAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.Content:=postbooks(Request.CookieFields.Values['USER_ID']);
handled:=true;
end;
//提交推荐书目给图书馆
procedure TWebModule1.WebModule1postallAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.Content:=Postall(Request.ContentFields.Text,request.cookiefields.values['user_id']);
handled:=true;
end;
procedure TWebModule1.ppquerybookdetailHTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings; var ReplaceText: String);
begin
tcategory.Active:=true;
if TagString='TITLE_TX' then ReplaceText:=querybookdetail.FieldByName('title').AsString;
if TagString='AUTHOR_TX' then ReplaceText:=querybookdetail.FieldByName('author').AsString;
if TagString='PUBLISHER_TX' then ReplaceText:=querybookdetail.FieldByName('publisher').AsString;
if TagString='PUBDATE_TX' then ReplaceText:=querybookdetail.FieldByName('pubdate').AsString;
if TagString='VERSION_TX' then ReplaceText:=querybookdetail.FieldByName('version').AsString;
tcategory.Locate('cateid',querybookdetail.fieldbyname('cateid').Value,[]);
if TagString='CATEGORY_TX' then ReplaceText:=tcategory.FieldByName('catetext').AsString;
if TagString='BOOKSELLER_TX' then ReplaceText:=querybookdetail.FieldByName('bookseller').AsString;
if TagString='ISBN_TX' then ReplaceText:=querybookdetail.FieldByName('ISBN').AsString;
if TagString='PRICE_TX' then ReplaceText:=querybookdetail.FieldByName('price').AsString;
if TagString='content_TX' then ReplaceText:=querybookdetail.FieldByName('content').AsString;
end;
//返回书目详细信息页面
procedure TWebModule1.WebModule1querybookdetailAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
Response.Content:=QuerybookDetails(Request.QueryFields.Values['bookid']);
handled:=true;
end;
//继续选择推荐书目
procedure TWebModule1.WebModule1booksAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
p:=strtoint(request.QueryFields.Values['p']);
response.Content:=selecting(request.CookieFields.Values['cate_id']);
handled:=true;
end;
//计算字段,产生书目详细信息字段
procedure TWebModule1.cdsquerybooksCalcFields(DataSet: TDataSet);
begin
tbooks.Active:=true;
with dataset do
begin
tbooks.Locate('bookid',dataset.Fields[1].value,[]);
FieldByName('CHECK_TX').AsString:='<input type="checkbox" name="'+
tbooks.FieldByName('bookID').AsString+'" value="'+
tbooks.FieldByName('bookID').AsString+'">';
fieldbyname('author_tx').AsString:=tbooks.fieldbyname('author').Value;
fieldbyname('title_tx').Value:='<a href="'+
url_path+'/querybookdetail?bookid='+
tbooks.fieldbyname('bookid').Value+
'">'+tbooks.fieldbyname('title').Value+'</a>';
fieldbyname('publisher_tx').Value:=tbooks.fieldbyname('publisher').Value;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -