ADOQuery og delimiter spørgsmål.
Hvis ADOQuery fejler med at den ikke kan finde noget udfra min søge streng, hvor fanger man så at den ikke kan finde noget?Hvordan undgåes at SPACE bliver opfattet som en "Delimiter"?
procedure TFrmMain.FindNames(Names: string; List: TStrings);
var Temp: TStrings; I : integer;
strtemp : string;
begin
Temp := TStringList.Create;
Temp.Delimiter := ';';
Temp.DelimitedText := Names;
list.Clear;
try
for I := 0 to Temp.Count-1 do
begin
ADOquery1.SQL.Text := 'SELECT cn FROM ' + QuotedStr('LDAP://OU=USERS,' + edit2.Text ) + ' where cn = ' + QuotedStr(temp[i]+'*') +' OR samAccountName = ' + QuotedStr(temp[i]+'*');
ADOQuery1.Open;
if ADOQuery1.RecordCount > 0 then
begin
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
List.Add(Format('%s=%s', [Temp[I], ADOQuery1.FieldByName('cn').AsString]));
ADOQuery1.Next;
end;
end
else
List.Add(Format('%s=%s', [Temp[I]]));
end;
finally
FreeAndNil(Temp);
end;
end;