delphi的一个程序问题!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi的一个程序问题!相关的知识,希望对你有一定的参考价值。
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TCR1 = class(TForm)
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Button1: TButton;
Button2: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
Private declarations
public
Public declarations
end;
var
CR1: TCR1;
implementation
uses Unit1, Unit2;
$R *.dfm
procedure TCR1.Button1Click(Sender: TObject);
Var
Xh,Xm,Xb,Cssj,Zy,Zxf,Bz, Sql1,Sql2:String;
begin
Xh:=Edit1.Text;
Xm:=Edit2.Text;
if RadioButton1.Checked=true then
Xb:='1'
else
Xb:='0';
Zy:=Edit4.Text;
Cssj:=Edit3.Text;
Zxf:=Edit5.Text;
Bz:=Memo1.Text;
Sql1:='select xh from xs where xh='+''''+Xh+'''';
XSCJDM.XSCJADODataSet.Active:=false;
XSCJDM.XSCJADODataSet.CommandText:=Sql1;
XSCJDM.XSCJADODataSet.Active:=true;
if(XSCJDM.XSCJADODataSet.FieldValues['xh']<>NULL)then
showmessage('该学生记录已经存在!')
else
begin
Sql2:='Insert xs values('''+Xh+''','''+Xm+''','+Xb+','''+Cssj+''',
'''+Zy+''','+Zxf+','''+Bz+''')'; //这里有问题!!!!
XSCJDM.XSCJADOCommand.CommandText:=Sql2;
XSCJDM.XSCJADOCommand.Execute;
showmessage('插入成功!');
end;
procedure TCR1.Button2Click(Sender: TObject);
begin
XSCJGL.Visible:=true;
CR1.Close;
end;
end.
错误:
[Error] Unit3.pas(71): Unterminated string
[Error] Unit3.pas(72): Missing operator or semicolon
[Error] Unit3.pas(72): Unterminated string
[Fatal Error] Project1.dpr(7): Could not compile used unit 'Unit3.pas'
请问怎么搞的???多谢!!
'''+Zy+''','+Zxf+','''+Bz+''')'; //这里有问题!!!!
改成:
Sql2:='Insert xs values('+
''''+Xh+''''+','+
''''+Xm+''''+','+
'''+Xb+''''+','+
DateToStr(Cssj)+','+
''''+Zy+''''+','+
FloatTostr(Zxf)+','+
''''+Bz+''''+')';
以上我假设xh是序号,字符型的,xm是姓名,字符型的,xb是性别字符型的,Cssj时间型的,zy摘要字符型的,Bz备注字符型的。sql2中的引号均为单引号。 参考技术A procedure
TForm1.Button3Click(Sender:
TObject);
var
SysTime:
TsystemTime;
begin
GetSystemTime(Sys
Time);就用这个函数Get
System
Time
Caption:=IntToStr(Sys
Time.wYear)+'
'+IntToStr(SysTime.wMonth);
//if
SysTime.wYear>2000
then
//
在程序逻辑中利用获取的各类时间值
end;试过了,通过, 参考技术B Statusbar1.Panels[0].Text:=FormatDateTime('YYYY-MM-DD',now);
Statusbar1.Panels[1].Text:=FormatDateTime('hh:mm:ss',now);
用delphi开发应用程序会不会有内存泄露的问题?
任何语言,没释放内存,都会泄漏,我写分析程序,每分析一个文件要建立一个TStringList,如果分析完没释放的话,很快4G内存就爆了(不是爆炸)不过我猜你想问的是VCL是否有内存泄漏,这个框架非常棒,基本没有内存泄漏的问题,你只要每次能释放自己申请的内存,就不会有泄漏问题 参考技术A 在开发的时候,DELPHI的编译器是在一个隔离的内存盒里面进行的,在编译关闭的时候就会自动释放所有空间,此时不存在内存益出.
但是如果你指的是已经开发好的程序给客户用,当然会存在,所以要记得释放内存. 参考技术B D7系列版本有内存回收机制,全自动的,不必担心! 参考技术C 问题能专业话点么,什么叫内存泄露啊,你是指内存溢出么
以上是关于delphi的一个程序问题!的主要内容,如果未能解决你的问题,请参考以下文章