⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uwdm.pas

📁 本文件是一个CGI类型的WEB应用程序
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    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 + -