AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bei CommandText Zuweisung Exception

Ein Thema von RalfE · begonnen am 22. Dez 2010 · letzter Beitrag vom 22. Dez 2010
Antwort Antwort
RalfE

Registriert seit: 30. Apr 2010
25 Beiträge
 
#1

Bei CommandText Zuweisung Exception

  Alt 22. Dez 2010, 09:54
Hallo,
ich verwende Delphi 7,

bei Zuweisung "ADOSet.CommandText := HlpStr"
kommt Access Violation.

Bei Button Klick soll erstmal nur ein Memo gefüllt werden
(bin noch am Probieren). Hier mal der Code:

Delphi-Quellcode:
procedure TFirstForm.Button2Click(Sender: TObject);
Var ADOConn: TADOConnection;
    ADOSet: TADODataSet;
    Loop : Integer;
    HlpStr : WideString;
begin
  ADOConn := TADOConnection.Create(nil);
  ADOSet := TADODataSet.Create(nil);
  ADOConn.Provider := 'ADsDSOObject';
  ADOConn.ConnectionString := 'Provider=ADsDSOObject;Encrypt Password=False;Integrated Security=SSPI;Data Source=NIS;Mode=Read;Bind Flags=0;ADSI Flag=-2147483648';
  ADOConn.LoginPrompt := false;
  ADOSet.Connection := ADOConn;

  HlpStr := 'SELECT displayName,name,ADsPath,DistinguishedName,Location FROM ';
 HlpStr := Concat(HlpStr,QuotedStr('LDAP://meyer_1'));
  HlpStr := Concat(HlpStr,'WHERE objectClass = ',QuotedStr('user'),'and objectCategory = ');
  HlpStr := Concat(HlpStr,QuotedStr('Person'));
  ADOSet.CommandText := HlpStr; // Exception !!!!
  ADOSet.Open;
  ADOSet.First;
  Memo1.Clear;
  for Loop := 0 to ADOSet.RecordCount -1 do
  begin
    Memo1.Lines.Add(ADOSet.Fields[1].AsString);
    ADOSet.Next;
  end;
end;
Lasse ich das Programme weiterlaufen, so wird das Memo
entsprechend gefüllt.

Danke.

Geändert von RalfE (22. Dez 2010 um 10:04 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Bei CommandText Zuweisung Exception

  Alt 22. Dez 2010, 12:38
wenn Du
ADOSet.Connection := ADOConn; erst nach dem Zuweisen des Commandtextes setzt ist der Fehler weg.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: Bei CommandText Zuweisung Exception

  Alt 22. Dez 2010, 14:17
Hallo,

nachdem Du Connection erzeugt hast, musst Du auch noch einen Verbindung zu Ihr herstellen, bevor Du die Connection dem Dataset zuweist:
Delphi-Quellcode:
ADOConn := TADOConnection.Create(nil);
...
...
ADOConn.LoginPrompt := false;
ADOConn.Connected:=True; // oder ADOConn.Open;
ADOSet.Connection := ADOConn;
Beim Zusammenbau deines SQL-Statements würde ich noch Parameter benutzen:
Delphi-Quellcode:
 HlpStr:='SELECT displayName,name,ADsPath,DistinguishedName,Location FROM ';
 HlpStr:=Concat(HlpStr,QuotedStr('LDAP://meyer_1'));
 HlpStr:=HlpStr+'WHERE objectClass=:Class and objectCategory=:Category';
 ADOSet.Parameters.ParamByName('Class').Value:='user';
 ADOSet.Parameters.ParamByName('Category').Value:='person';
 ADOSet.Open;
 // ADOSet.First; -> diese Zeile kannst Du Dir sparen, weoil der Datensatzzeiger immer auf dem 1. Eintrag steht
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz