非常郁闷!同样的代码为什么数据不能刷新!!求救高手!!
这个FORM和我程序中另一个基本一致 但是这段代码中MEMO1和MEMO2、edit1的刷新就是不行!! 救命啊高手!!
unit find1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, StdCtrls, ComCtrls;
type
TForm3 = class(TForm)
DBGrid1: TDBGrid;
Query1: TQuery;
DataSource1: TDataSource;
Query2: TQuery;
Memo1: TMemo;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DateTimePicker1: TDateTimePicker;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Edit1: TEdit;
Button7: TButton;
Memo2: TMemo;
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Query1AfterScroll(DataSet: TDataSet);
procedure Button3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Flag:Integer; //0代表浏览,1代表新增,2代表修改
end;
var
Form3: TForm3;
const
plan_task = 0;
unplan_task = 1;
implementation
uses QU1, find2, share;
{$R *.DFM}
procedure TForm3.FormShow(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add( 'SELECT * FROM ZHAOWEI.BZGZ where taskid = ' ' ' + '1 ' + ' ' ' and workdate = ' ' ' + DateToStr(now) + ' ' ' ');
Query1.Open;
flag := 0;
end;
procedure TForm3.Query1AfterScroll(DataSet: TDataSet);
begin
self.DateTimePicker1.DateTime := Query1.FieldByName( 'workdate ').AsDateTime;
memo1.Text := Query1.FieldByName( 'workdata ').AsString;
memo2.Text := Query1.FieldByName( 'people ').AsString;
Edit1.Text := Query1.FieldByName( 'manincharge ').AsString;
end;
{procedure TForm2.FormShow(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add( 'SELECT * FROM ZHAOWEI.BZGZ where NN = ' ' ' + Form1.Query1.FieldByName( 'BH ').AsString+ ' ' 'and taskid = ' ' ' + '0 '+ ' ' ' ');
Query1.Open;
flag := 0;
end;
procedure TForm2.Query1AfterScroll(DataSet: TDataSet);
begin
self.DateTimePicker1.DateTime := Query1.FieldByName( 'workdate ').AsDateTime;
memo1.Text := Query1.FieldByName( 'workdata ').AsString;
memo2.Text := Query1.FieldByName( 'people ').AsString;
Edit1.Text := Query1.FieldByName( 'manincharge ').AsString;
end;}
procedure TForm3.Button1Click(Sender: TObject);
begin
Self.DateTimePicker1.DateTime := now;
memo1.Text := ' ';
memo2.Text := ' ';
Edit1.Text := ' ';
DBGrid1.Enabled :=False;
Edit1.Enabled := True;
memo1.Enabled := True;
memo2.Enabled := True;
DateTimePicker1.Enabled := True;
Button1.Enabled := False;
Button2.Enabled := False;
Button3.Enabled := False;
Button4.Enabled := True;
Button5.Enabled := True;
Button7.Enabled := False;
Flag := 1;
end;
procedure TForm3.Button4Click(Sender: TObject);
var
Sql:String;
begin
begin
if Trim(Edit1.Text) = ' ' then
begin
Application.MessageBox( '小组负责人不得为空 ', '提醒 ',mb_ok);
Exit;
end;
if Trim(Memo1.Text) = ' ' then
begin
Application.MessageBox( '工作内容不得为空 ', '提醒 ',mb_ok);
Exit;
end;
if Trim(Memo2.Text) = ' ' then
begin
Application.MessageBox( '工作人员不得为空 ', '提醒 ',mb_ok);
Exit;
end;
//Query2.Close;
//Query2.SQL.Clear;
//Query2.SQL.Add( 'select * from ZW.QU order by NN DESC ');
//Query2.Open;
//tmp := Query2.FieldByName( 'NN ').AsInteger;
//Inc(tmp);
if Flag = 1 then
begin
begin
Sql := 'Insert into ZHAOWEI.BZGZ(NN,workdate,banzu,workdata,people,manincharge,taskid) values( ' ' ' + 'unplantask ' + ' ' ', ' ' '+ DateToStr(Self.DateTimePicker1.Date) + ' ' ', ' ' ' + Trim(share.userId) + ' ' ', ' ' ' + Trim(Memo1.Text) + ' ' ', ' ' ' + Trim(Memo2.Text) + ' ' ', ' ' ' + Trim(Edit1.Text) + ' ' ', ' ' ' + '1 ' + ' ' ') ' ;
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(Sql);
Query2.ExecSQL;
end
end;
if Flag = 2 then
begin //showmessage( 'update ZW.BZ set workdate = ' ' ' + DateToStr(Self.DateTimePicker1.Date) + ' ' ', car = ' ' ' + Trim(Edit1.Text) + ' ' ' where banzu = '+ (Query1.FieldByName( 'banzu ').AsString)) ;
if Trim(Query1.FieldByName( 'banzu ').AsString) = share.userId then
begin
Sql := 'update ZHAOWEI.BZGZ set workdate = ' ' ' + DateToStr(Self.DateTimePicker1.Date) + ' ' ',workdata= ' ' ' + Trim(Memo1.Text) + ' ' ',people= ' ' ' + Trim(Memo2.Text) + ' ' ',manincharge= ' ' '+ Trim(Edit1.Text)+ ' ' ' where No = ' + IntToStr(Query1.FieldByName( 'No ').AsInteger );
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add(Sql);
Query2.ExecSQL;
end
else Application.MessageBox( '班组选择错误 ', '提醒 ',mb_ok);
end;
Query1.Close;
Query1.Open;
Edit1.Enabled := False;
memo1.Enabled := False;
DateTimePicker1.Enabled := False;
memo2.Enabled := False;
Button1.Enabled := True;
Button2.Enabled := True;
Button3.Enabled := True;
Button4.Enabled := False;
Button5.Enabled := False;
DBGrid1.Enabled := True;
Button7.Enabled := True;
if Flag = 2 then
DBGrid1.Enabled := True;
Flag := 0;
end;
end;
procedure TForm3.Button5Click(Sender: TObject);
begin
Edit1.Enabled := False;
memo1.Enabled := False;
DateTimePicker1.Enabled := False;
memo2.Enabled := False;
self.DateTimePicker1.DateTime := Query1.FieldByName( 'workdate ').AsDateTime;
// if Query1.FieldByName( 'workdata ').AsString = ' ' then
// begin
//memo1.Text := ' ';
// end;
// else
// begin
// Query1.FieldByName( 'workdata ').AsString;
// end;
//memo2.Text := Query1.FieldByName( 'peopele ').AsString;
Edit1.Text := Query1.FieldByName( 'manincharge ').AsString;
Button1.Enabled := True;
Button2.Enabled := True;
Button3.Enabled := True;
Button4.Enabled := False;
Button5.Enabled := False;
Button7.Enabled := True;
DBGrid1.Enabled :=True;
if Flag = 2 then
DBGrid1.Enabled := True;
Flag := 0;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
if Trim(Query1.FieldByName( 'banzu ').AsString) = share.userId then
begin
Edit1.Enabled := True;
DateTimePicker1.Enabled := True;
Flag := 2;
DBGrid1.Enabled := False;
Memo1.Enabled := True;
Memo2.Enabled := True;
Button1.Enabled := False;
Button2.Enabled := False;
Button3.Enabled := False;
Button4.Enabled := True;
Button5.Enabled := True;
Button7.Enabled := False;
end
else Application.MessageBox( '班组选择错误 ', '提醒 ',mb_ok);
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
if Trim(Query1.FieldByName( 'banzu ').AsString) = share.userId then
begin
if Application.MessageBox( '是否真的删除? ', '提醒 ',mb_yesno) = 6 then
begin
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add( 'delete from ZHAOWEI.BZGZ where No = ' + IntToStr(Query1.FieldByName( 'No ').AsInteger));
Query2.ExecSQL;
Query1.Close;
Query1.Open;
end
end
else Application.MessageBox( '班组选择错误 ', '提醒 ',mb_ok);
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
Form4.ShowModal;
end;
procedure TForm3.Button7Click(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add( 'SELECT * FROM ZHAOWEI.BZGZ where taskid = ' ' ' + '1 '+ ' ' ' and workdate = ' ' ' + DateToStr(now) + ' ' ' ');
Query1.Open;
end;
end.
[解决办法]
从代码上看没有问题,是不是你在复制代码的时候有些窗体或者控件的属性什么的没有设置正确?