好象没有释放内存,密码修改有时也不好使,我用的是access, 还有哪位能讲讲什么时候关闭什么时候打开为什么吗?
var
Form3: TForm3;
mypath:string;implementation{$R *.dfm}procedure TForm3.Button1Click(Sender: TObject);
begin if((length(Edit1.Text)>0) or (length(Edit2.Text)>0)) then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from t_user where (admin='''+Edit1.Text+''') and (passwd='''+Edit2.Text+''') ');
ADOQuery1.Open;
ADOQuery1.Active:=true;
ADOQuery1.ExecSQL;
if(ADOQuery1.RecordCount>0) and (Edit3.Text = Edit4.Text) then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
adoquery1.SQL.Add('update t_user set passwd ='''+Edit3.Text+'''' );
ADOQuery1.ExecSQL;
ShowMessage('修改成功');
Close();
Exit;
end
else
begin
MessageBox(getactivewindow,'您的用户名和密码不正确','Warning',MB_OK);
end
end
else
begin
MessageBox(getactivewindow,'用户名和密码不能为空','Warning',MB_OK);
end;
end;procedure TForm3.Button2Click(Sender: TObject);
begin
Close();
end;
var
Form3: TForm3;
mypath:string;implementation{$R *.dfm}procedure TForm3.Button1Click(Sender: TObject);
begin if((length(Edit1.Text)>0) or (length(Edit2.Text)>0)) then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from t_user where (admin='''+Edit1.Text+''') and (passwd='''+Edit2.Text+''') ');
ADOQuery1.Open;
ADOQuery1.Active:=true;
ADOQuery1.ExecSQL;
if(ADOQuery1.RecordCount>0) and (Edit3.Text = Edit4.Text) then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
adoquery1.SQL.Add('update t_user set passwd ='''+Edit3.Text+'''' );
ADOQuery1.ExecSQL;
ShowMessage('修改成功');
Close();
Exit;
end
else
begin
MessageBox(getactivewindow,'您的用户名和密码不正确','Warning',MB_OK);
end
end
else
begin
MessageBox(getactivewindow,'用户名和密码不能为空','Warning',MB_OK);
end;
end;procedure TForm3.Button2Click(Sender: TObject);
begin
Close();
end;
ADOQuery1.ExecSQL; //这个去掉
但是update,insert ,delete 必须用execsql,因为不返回结果集