读书人

delphi 向数据库插入数据有关问题

发布时间: 2012-04-21 14:34:44 作者: rapoo

delphi 向数据库插入数据问题

unit Unit3;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;

type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Searchdata(ADO:TADOQuery;Str:string);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}
procedure Searchdata(ADO:TADOQuery;Str:string);
begin
try
ADO.Close;
ADO.SQL.Clear;
ADO.SQL.ADD(Str);
ADO.ExecSQL;
except
ShowMessage('错误');
end;

procedure TForm1.Button1Click(Sender: TObject);

begin
Searchdata(ADOQuery1,'insert into yjszsmlxt_bs_xydmb(xlh,xydm,xymc) values('21','021','lixu')');
end;

end.




[Error] Unit3.pas(43): Statement expected but 'PROCEDURE' found
[Error] Unit3.pas(46): Missing operator or semicolon
[Error] Unit3.pas(46): ')' expected but identifier 'lixu' found
[Error] Unit3.pas(19): Unsatisfied forward or external declaration: 'TForm1.Searchdata'
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit3.pas'

程序和报错我都贴了上来, 我怀疑是过程定义有问题 sql语句写的应该也有问题 一堆单引号 不知道行不行
高手指点一下好不??数据库已经连上了 在线等!!

[解决办法]
values('21','021','lixu')
SQL语句中的字符串用双引号——values(''21'',''021'',''lixu'')
不然引号无法匹配的

[解决办法]

Delphi(Pascal) code
unit Unit3;interfaceuses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls;type  TForm1 = class(TForm)  ADOConnection1: TADOConnection;  ADOQuery1: TADOQuery;  DataSource1: TDataSource;  DBGrid1: TDBGrid;  Edit1: TEdit;  Edit2: TEdit;  Button1: TButton;  procedure Button1Click(Sender: TObject);  procedure Searchdata(ADO:TADOQuery;Str:string);  private  { Private declarations }  public  { Public declarations }  end;var  Form1: TForm1;implementation{$R *.dfm}  procedure Searchdata(ADO:TADOQuery;Str:string);begin  try  ADO.Close;  ADO.SQL.Clear;  ADO.SQL.ADD(Str);  ADO.ExecSQL;  except  ShowMessage('错误');  end;end;  // 这里少了个  endprocedure TForm1.Button1Click(Sender: TObject);begin Searchdata(ADOQuery1,'insert into yjszsmlxt_bs_xydmb(xlh,xydm,xymc) values('21','021','lixu')');end;end.
[解决办法]
推荐楼主 使用 cnpack 这样就不会犯这种错误了
[解决办法]
探讨
推荐楼主 使用 cnpack 这样就不会犯这种错误了

读书人网 >.NET

热点推荐