Top Banner

Click here to load reader

of 96

Delphi 实用教程

Mar 18, 2016

Download

Documents

hasad

Delphi 实用教程. 第 9 章 数据库应用程序开发. 9.1 数据库应用系统的开发过程. 通常开发数据库应用程序有以下三个阶段: 分析阶段。明确应用程序需做什么及需要什么数据、谁将使用这些数据。 设计阶段。确定数据表的形式和所需的程序块,编写为了实现设计中的功能的程序代码。 维护阶段。对应用程序进行维护,根据用户使用情况进一步优化应用程序。 利用 Delphi 进行客户机 / 服务器数据库应用系统的开发,通常按以下步骤进行: 系统总体设计与规划。 网络和 SQL 服务器建设。 数据库设计。 前端开发。 调试与应用程序的发布。. - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Delphi9

    9

  • 9.1Delphi/SQL

    9

  • 9.2 9.2.1 stkgl st

    9

  • 9.2.1 stkgl sj

    9

  • 9.2.2 sjsjbh sjnr paperpaper txdmtmnr

    9

  • 9.2.2CREATE PROCEDURE sjsc@sjbh tinyint ASDROP TABLE paper;CREATETABLE paper(txdm tinyint,tmnr text);DECLARE @i int;SET @i=-3;WHILE @i
  • 9.2.2: txdmtmnrpaperpaperWhereselect txdmtmnrthsjsjnr select txdm,tmnr from st where th in (select substring(sjnr,@i,3) from sj where sjbh=@sjbh)

    9

  • 9.2.2sjsjnrWherethsjnrwhere th in (select substring(sjnr,@i,3) from sj where sjbh=@sjbh) @isjsjnr

    9

  • 9.2.3 1 2 34 56

    9

  • 9.2.3 1

    9

  • 9.2.3 2

    9

  • 9.2.3 3

    9

  • 9.2.4 C/S :

    9

  • 9.2.4 C/S2. DMSTK DataModule1DMUStk DMSTK

    9

  • 9.2.4 C/S

    9

  • 9.2.4 C/S QryTMNRDSetSJTabST DisplayLabel DMstkADO ConStk ConnectionString , ConStk Use Connection StringBuild Microsoft SQL Server Microsoft OLE DB Provider for SQL Server Next>>

    9

  • 9.2.4 C/S SQL Server 1 SQL RefreshSQL SQLcjhdb

    9

  • 9.2.4 C/S 2SQL Serversa 321SQL ServerTest Connection 4OK

    9

  • 9.2.4 C/S3.

    9

  • 9.2.4 C/S:// stwh, sjwh, sjsc// File->Use Unituses stwh, sjwh, sjsc;// BtnSTWHOnClick// BtnSJWHBtnSJSCOnClickprocedure TFrmMain.BtnSTWHClick(Sender: TObject);begin FrmSTWH.ShowModal;end;mainStkPrj

    9

  • 9.2.4 C/S4.

    DMUSTKuses DMUSTK; DMStkTabSTtmnrTabSTckda

    9

  • 9.2.4 C/S5. DMStkDSetSJsjnrDSetSJjspj

    9

  • 9.2.4 C/S6.

    9

  • 9.2.4 C/S

    9

  • 9.2.4 C/S:// uses DMUStk, dysj, DMUStkDy;// FrmSJSCOnHideprocedure TFrmSJSC.FormHide(Sender: TObject);begin DMSTK.QryTMNR.Active:=false; MenSJ.Lines.Clear;end;

    9

  • 9.2.4 C/S// MIDYOnClickprocedure TFrmSJSC.MIDYClick(Sender: TObject);begin { QryXZQryTKQryPDQryJDQryJSQryLSQryWDQryBC} DMStkDy.QryXZ.Active:=false; DMStkDy.QryXZ.Active:=true; ...... // // DMStkDy.QrySJM.Close; DMStkDy.QrySJM.Parameters.ParamByName('bh').Value:=strtoint(EdtSJBH.Text); DMStkDy.QrySJM.Open; FrmDY.RvProSJ.Execute; //end;

    9

  • 9.2.4 C/S// MIExitOnClickprocedure TFrmSJSC.MIExitClick(Sender: TObject);begin FrmDY.Close;end;

    9

  • 9.2.4 C/S// BtnSJSCOnClickprocedure TFrmSJSC.BtnSJSCClick(Sender: TObject);begin MenSJ.Lines.Clear; // DMSTK.SPSJSC.Parameters[1].Value:=strtoint(EdtSJBH.Text); DMSTK.SPSJSC.ExecProc; DMSTK.QryTMNR.Close; DMSTK.QryTMNR.Open;with DMSTK do// Memo1 begin QryTMNR.Active:=true; QryTMNR.First; while not QryTMNR.Eof do begin MenSJ.Lines.Append(QryTMNRtmnr.AsString); QryTMNR.Next end; end;end;

    9

  • 9.2.4 C/SDMStkDyFrmDy9.4

    9

  • 9.2.4 C/S6. StkPrj1FileOpen ProjectStkPrj2ViewProject ManagerProject ManagerStkPrj StkPrj

    9

  • 9.2.4 C/S3ProjectOptionsProject OptionsFormsFormsStkPrj

    9

  • 9.2.4 C/S4ProjectViewView SourceStkPrjStkPrjprogram StkPrj;// StkPrjuses Forms, main in 'main.pas' {FrmMain}, DMUStk in 'DMUStk.pas' {DMSTK: TDataModule}, stwh in 'stwh.pas' {FrmSTWH}, sjwh in 'sjwh.pas' {FrmSJWH}, sjsc in 'sjsc.pas' {FrmSJSC}, dysj in 'dysj.pas' {FrmDY}, DMUStkDy in 'DMUStkDy.pas' {DMStkDy: TDataModule};{$R *.res}

    9

  • 9.2.4 C/Sbegin Application.Initialize; Application.CreateForm(TFrmMain, FrmMain); Application.CreateForm(TDMSTK, DMSTK); Application.CreateForm(TFrmSTWH,FrmSTWH); Application.CreateForm(TFrmSJWH,FrmSJWH); Application.CreateForm(TFrmSJSC, FrmSJSC); Application.CreateForm(TFrmDY, FrmDY); Application.CreateForm(TDMStkDy, DMStkDy); Application.Run; end.

    9

  • 9.3

    9

  • 9.3.1 DataSnap DataSnap :BDE ADO

    9

  • 9.3.1 DataSnap 1 23 providing4

    9

  • 9.3.1 DataSnap5 6Apply Updates 7Post Updates Reconcile Resolving 8 9 10

    9

  • 9.3.1 DataSnapDataSnap

    midas.d11midaslib.dcumidas.dll

    9

  • 9.4.2 Remote Data ModuleIAppServer DataSet Provider

    9

  • 9.4.3 (ClientDataSet)

    9

  • 9.4.4

    9

  • 9.4.4stkServerClientstkgl1. 1 1FileNew Application 2FileNewOtherMultitierRemote Data ModuleRDMstk

    9

  • 9.4.43ADOQueryData Access DatasetProvider RDMstk RDMstk

    9

  • 9.4.4 49.21Label Caption

    5stkServer RDMUstkstk3Prj

    9

  • 9.4.42 (1) RunParametersParameters /regserver

    (2) RunRunstk3Prj

    9

  • 9.4.42. (1) FileNew Application(2) DataSnapDCOMDCOMConnection DCOMConnection ComputerName ServerName ServerName stk3Prj DCOM

    9

  • 9.4.4(3) DataAccessClientDataSet CDSStuClientDataSet RemoteServer DCOMDCOMConStu ProviderName DSProST

    9

  • 9.4.4(4)

    9

  • 9.4.4

    9

  • 9.4.4BtnXGOnClick:procedure TFrmClient.BtnXGClick(Sender: TObject);beginCDSStu.ApplyUpdates(-1);end;BtnSXOnClick :procedure TFrmClient.BtnSXClick(Sender: TObject);begin CDSStu.Close; CDSStu.Open;end;

    9

  • 9.4.4BtnCXOnClick :procedure TFrmClient.BtnCXClick(Sender: TObject);begin CDSStu.UndoLastChange(true);end;

    9

  • 9.4.43.

    9

  • 9.4 9.4.1 studentstudents 1Delphi 7.02TableQueryTableDatabaseNamestudentTableNamestudentsNameTabStuActivetrue 3RaveRvDataSetConnection DataSet2TabStuName StuCXN

    9

  • 9.4.14RaveRvProject Rave Visual DesignerRave

    9

  • 9.4.1

    9

  • 9.4.15RaveFileNew Data ObjectData Connection Direct Data ViewNext Active Data ConnectionsStuCXN DTOK

    9

  • 9.4.16Project Tree Data View Dictionary DataView1 DataViewDVStu DataView1

    9

  • 9.4.17 ToolsReport WizardsSimple TableDVStu Next

    9

  • 9.4.1 AllNext

    9

  • 9.4.1 Next

    9

  • 9.4.1 Next

    9

  • 9.4.1 Generate

    9

  • 9.4.18Execute ReportOutput OptionPreviewOK OutputOption

    9

  • 9.4.1

    9

  • 9.4.1RaveRvProject.RAVDelphi.DFMreports Data Views

    9

  • 9.4.2 Rave:

    engine componentsRvNDRWriterRvSystem (render components) RvRenderPreviewRvRenderPrinterRvRenderPDFRvRenderHTMLRvRenderRTFRvRenderTextNDRRaveTRvNDRWriterPDFHTMLRTFTEXT

    9

  • 9.4.2 3. RvCuston ConnectionRvData SetConnectionRvTable ConnectionRave

    9

  • 9.4.2 4. RvProject RvProjectRave 1Engine 2ProjectFileRave.rav RvProject 1RvProject.OpenProjectFile 2RvProject.GetReportList(ListBox1.Item,true)

    9

  • 9.4.2 3ListBox1OnClick RvProject.SelectReport (ListBox1.Item[ListBox1.ItemIndex],true) RvProject.ReportDescToMemo(Memo1) Memo1

    4RvProject.Execute 5RvProject.Close

    9

  • 9.4.2 RvProject5

    9

  • 9.4.2

    9

  • 9.4.2 // FrmRepPrnOnCreate1-2procedure TFrmRepPrn.FormCreate(Sender: TObject);begin RvPro.Open; RvPro.GetReportList(LBRep.Items,true);end;// LBRepOnClick// LBRep3}procedure TFrmRepPrn.LBRepClick(Sender: TObject);begin RvPro.SelectReport(LBRep.Items[LBRep.ItemIndex],true); RvPro.ReportDescToMemo(MemDesc); end;

    9

  • 9.4.2 // FrmRepPrnOnDestroy5procedure TFrmRepPrn.FormDestroy(Sender: TObject);begin RvPro.Close;end;// BtnPrnOnClick4procedure TFrmRepPrn.BtnPrnClick(Sender: TObject);begin RvPro.Execute;end;// FrmRepPrnOnShowprocedure TFrmRepPrn.FormShow(Sender: TObject);begin LBRep.ItemIndex := 0; LBRepClick(nil); end;

    9

  • 9.4.3 Rave Rave Rave 5.01Delphi 7ToolsRave Designer2RvProject3RvProject Rave Visual Designer Rave 12Page 3 4

    9

  • 9.4.3 Rave2. 1 RaveStandard Standard

    9

  • 9.4.3 Rave2

    3 Bar Code Drawing

    9

  • 9.4.3 Rave4

    Report Report

    9

  • 9.4.3 Rave3. 1RaveFileExecute Report 2ProjectExecute Report 3F9

    4. Rave 5.0Body HeaderGroup HeaderDetailBody Footer

    9

  • 9.4.3 RaveDelphi 7.0:1RaveFileOpenRaveDemo.rav \Program Files\Borland\Delphi7\Rave5\Demos 2Report Library SimpleListingReport+ MainPage 3MainPage+CustomerDVRegion 4CustomerDVTitleBand ControllerBand BandStyleBandStyle

    9

  • 9.4.3 Rave :

    9

  • 9.4.3 Rave

    9

  • 9.4.3 Rave 1ReportBandBdLineBdRearDVStuRegion 2BdLineBdRearControllerBandDVStuDataBandBdLineBdRearDVStuDataBand3BdLineDrawingHLine BdRearStandardTextTxtRearText

    9

  • 9.4.3 Rave4BdLineBandStyleBdLineBandStylePrint HeaderDetailPrint OccurrenceFirstBdRearBandStylePrint HeaderBody FooterPrint OccurrenceFirst

    9

  • 9.4.3 Rave

    9

  • 9.4.4 StkPrj (2) DMStkDyDMUStkDy9QueryQueryQuery DMStkDy

    9

  • 9.4.4

    19ADOQueryQryXZQryTKQryPDQryJD QryJSQryLSQryWDQryBC8 SQLwheretxdm=1 txdm=82QrySJMParameters bh DataTypeftInteger

    9

  • 9.4.4 3QryXZQryTKQryPDQryJD QryJSQryLSQryWDQryBCQrySJM 4DMUStkuses DMUStk;2. 9RvDataSetConnectionRvDataSetConnectionDMStkDyQuery RAVEProjectRvProSJ

    9

  • 9.4.4

    9RvDataSetConnection RvDSConXZRvDSConTK RvDSConPDRvDSConJDRvDSConJSRvDSConLS RvDSConWDRvDSConBCRvDSConSJMDataSet DMStkDy.QryXZRvDSConTK DMStkDy.QryPDDMStkDy.QryJDDMStkDy.QryJS DMStkDy.QryLSDMStkDy.QryWDDMStkDy.QryBC DMStkDy.QrySJM

    9

  • 9.4.4 3. RaveRvDSConXZRvDSConBCRvDSConSJM9DataView1DataView9DVXZDVTKDVPDDVJDDVJSDVLSDVWDDVBCDVSJMRAVEData Connections9

    9

  • 9.4.4 4. 1ReportDataText StandardTextDTxtSJMTxtSJT1 TxtSJT2TxtSJT3 2Regionpaper 3RegionBandBdXZT BandTextTxtXZT

    9

  • 9.4.4 4RegionDataBandDBXZTTextTxtXZTNumTxtXZTNumOnGetText TxtXZTNum.text:= inttostr (strtoint (TxtXZTNum.text )+1); //1TxtXZTNumEvent EditorAvailable EventsOnGetText

    9

  • 9.4.4 DBXZTDataMemoDMemXZT:

    9

  • 9.4.4

    534

    9

  • 9.4.4 Paper

    9

  • 9.4.4

    9

  • 9.4.5 Rave 5.0HTML HTMLprocedure TForm1.Button1Click(Sender: TObject);var NDRStream: TMemoryStream;beginNDRStream := TMemoryStream.Create;tryNDRStream.LoadFromFile('test.ndr');RenderHTML.PrintRender(NDRStream, 'test.html');finallyNDRStream.Free;end; ShowMessage('NDR Converted');end;

    9