AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken in Comboboxen datensätze einfügen
Thema durchsuchen
Ansicht
Themen-Optionen

in Comboboxen datensätze einfügen

Ein Thema von arcon · begonnen am 21. Jun 2010 · letzter Beitrag vom 21. Jun 2010
Antwort Antwort
Seite 2 von 3     12 3      
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#11

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:35
ich habe jetzt folgenden kompletten code ...

Delphi-Quellcode:
procedure TForm1.ComboBox1onclick(Sender: TObject);
var

adoConn : TAdoConnection;
SQL : String;
ADOQuery : TADOQuery;
  begin

  adoConn := TADOConnection.Create(Self);
  adoConn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated .....';
  try
    if (not adoConn.Connected) then
    adoConn.Open;

 SQL := 'Select Description From Watch_Settings';
    ADOQuery.SQL.Text := SQL;
    ADOQuery.Open;
    while not AdoQuery.eof do
begin
    Combobox1.Items.Add(AdoQuery.FieldByName('Description').AsString);
    AdoQuery.Next;
end;

    adoConn.Execute(SQL);

    if (adoConn.Connected) then
    adoConn.Close;
  finally
    if Assigned(adoConn) then
      FreeAndNil(adoConn);

  end;
end;
aber nun bringt er mir eine zugriffsverletzung .. weiß jemand rein zufällig, woran es liegen könnte ?

Geändert von mkinzler (21. Jun 2010 um 14:39 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#12

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:38
Was soll den das Execute bewirken? Ist das wieder so eine ADO-Spezialität?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:41
Du musst den Query noch instantiieren und die Connection zuweisen

Delphi-Quellcode:
adoQuery := TadoQuery.Create(Self);
AdoQuery.Connection := AdoConn;
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#14

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:46
Und jetzt im Ganzen (ich hoffe, ich habe nichts vergessen):
Delphi-Quellcode:
procedure TForm1.ComboBox1onclick(Sender: TObject);
var

adoConn : TAdoConnection;
SQL : String;
ADOQuery : TADOQuery;
begin

  adoConn := TADOConnection.Create(nil);
  try
    adoConn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated .....';
    if (not adoConn.Connected) then
      adoConn.Open;

    SQL := 'Select Description From Watch_Settings';
    ADOQuery := TADOQuery.Create(nil);
    try
      ADOQuery.Connection := adoConn;
      ADOQuery.SQL.Text := SQL;
      ADOQuery.Open;
      while not AdoQuery.eof do
        begin
          Combobox1.Items.Add(AdoQuery.FieldByName('Description').AsString);
          AdoQuery.Next;
        end;
    finally
      ADOQuery.Free;
    end;

    //adoConn.Execute(SQL);

    if (adoConn.Connected) then
      adoConn.Close;
  finally
// if Assigned(adoConn) then
    FreeAndNil(adoConn);
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#15

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:48
Delphi-Quellcode:
procedure TForm1.ComboBox1onclick(Sender: TObject);
var

adoConn : TAdoConnection;
SQL : String;
ADOQuery : TADOQuery;
  begin

  adoConn := TADOConnection.Create(Self);
  adoConn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated ......';
  adoQuery := TadoQuery.Create(Self);
  AdoQuery.Connection := AdoConn;
  try
    if (not adoConn.Connected) then
    adoConn.Open;

 SQL := 'Select Description From Watch_Settings';

    adoConn.Execute(SQL);
    ADOQuery.SQL.Text := SQL;
    ADOQuery.Open;
    while not AdoQuery.eof do
begin
    Combobox1.Items.Add(AdoQuery.FieldByName('Description').AsString);
    AdoQuery.Next;
    if (adoConn.Connected) then
    adoConn.Close;
end;
  finally
    if Assigned(adoConn) then
      FreeAndNil(adoConn);

  end;
end;
ich habs jetzt so hinbekommen .. aber das problem ist, dass er mir nur den ersten datensatz anzeigt .. und nicht alle datensätze .. das hängt denke ich mal noch mit der next.schleife zusammen ..

und das sql(execute) hängt damit zusammen dass er mir den befehl der in SQL steht auch ausführt.

Geändert von mkinzler (21. Jun 2010 um 14:58 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:49
Delphi-Quellcode:
    if (adoConn.Connected) then
    adoConn.Close;
muss natürlich aus der Schleife raus
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#17

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:52
Dafür ist das ADOQuery.Open da. Aber wenn Du nach dem ersten Datensatz die Verbindung schließt, kann ja auch nur ein Datensatz zurückkommen.
Zitat:
Delphi-Quellcode:
while not AdoQuery.eof do
begin
    Combobox1.Items.Add(AdoQuery.FieldByName('Description').AsString);
    AdoQuery.Next;
    if (adoConn.Connected) then
    adoConn.Close; //hier
end;
Außerdem gibst Du die Query nicht wieder frei. Hast Du meinen Code einmal versucht?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
arcon

Registriert seit: 8. Jun 2010
71 Beiträge
 
#18

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:54
danke deddyH .. für den quelltext .. funktioniert wunderbar
und danke an mkinzler

problem behoben ..

hier die finalle ausgabe des quellcodes für leute, die auch das selbe problem haben, wie ich ..


Delphi-Quellcode:
procedure TForm1.ComboBox1onclick(Sender: TObject);
var

adoConn : TAdoConnection;
SQL : String;
ADOQuery : TADOQuery;
begin
  combobox1.Clear;
  adoConn := TADOConnection.Create(nil);
  try
    adoConn.ConnectionString := 'Provider=SQLOLEDB.1;Integrated .......';
    if (not adoConn.Connected) then
      adoConn.Open;

    SQL := 'Select Description From Watch_Settings';
    ADOQuery := TADOQuery.Create(nil);
    try
      ADOQuery.Connection := adoConn;
      ADOQuery.SQL.Text := SQL;
      ADOQuery.Open;
      while not AdoQuery.eof do
        begin
          Combobox1.Items.Add(AdoQuery.FieldByName('Description').AsString);
          AdoQuery.Next;
        end;
    finally
      ADOQuery.Free;
    end;

    if (adoConn.Connected) then
      adoConn.Close;
  finally
// if Assigned(adoConn) then
    FreeAndNil(adoConn);
  end;
end;

Geändert von arcon (21. Jun 2010 um 15:27 Uhr) Grund: Namensänderungen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#19

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:56
und danke an m.kanzler
Markus Merkel?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: in Comboboxen datensätze einfügen

  Alt 21. Jun 2010, 14:58
Und Datlef H
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 04:45 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