procedure TlogForm.comb2DblClick(Sender: TObject);
var sql,value:string;
begin
//showMessage(dataMod.DataModule1.ADOcon.Connected);
if dataMod.DataModule1.ADOcon.Connected then
begin
showMessage('1');
dataMod.DataModule1.ADOquery.Close;
dataMod.DataModule1.ADOquery.SQL.Clear;
sql:='select user_name from userinfo';
dataMod.DataModule1.ADOquery.SQL.Add(sql);
dataMod.DataModule1.ADOquery.Open;
while dataMod.DataModule1.ADOquery.Eof do
begin
value:=dataMod.DataModule1.ADOquery.FieldByName('user_name').AsString;
showMessage(value);
dataMod.DataModule1.ADOquery.Next;
end;
end;
end;
上面段代码,if里的语句为什么不执行?难道是if判断的方法有错?
加上了就是赋值语句了.就不是判断了.
先判断下,如果 Not Connect 就执行 Connected := True;然后再用你下面的代码试下.
先打开连接
ADOConnection1.Open;
procedure TlogForm.comb2DblClick(Sender: TObject);
var sql,value:string;
begin
//showMessage(dataMod.DataModule1.ADOcon.Connected);
if not dataMod.DataModule1.ADOcon.Connected then
begin
dataMod.DataModule1.ADOcon.Connected:=true;//数据库连接
end; if dataMod.DataModule1.ADOcon.Connected then
begin
showMessage('1');
dataMod.DataModule1.ADOquery.Close;
dataMod.DataModule1.ADOquery.SQL.Clear;
sql:='select user_name from userinfo';
dataMod.DataModule1.ADOquery.SQL.Add(sql);
dataMod.DataModule1.ADOquery.Open;
while dataMod.DataModule1.ADOquery.Eof do
begin
value:=dataMod.DataModule1.ADOquery.FieldByName('user_name').AsString;
showMessage(value);
dataMod.DataModule1.ADOquery.Next;
end;
end;
end;