Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   TDBXTypes.WideString-Wertetyp (https://www.delphipraxis.net/172444-tdbxtypes-widestring-wertetyp.html)

Volker Z. 4. Jan 2013 00:44

AW: TDBXTypes.WideString-Wertetyp
 
Hallo,

wenn du einen Breakpoint bei

Delphi-Quellcode:
SQLStmt := SQLStmt + s + ' from '+TableName;
setzt und dann den "Inhhalt" der Variable SQLStmt postest (an den Wert kommst Du in den lokalen Variablen SQLStmt markieren, rechte Maustaste, Untesuchen).

Gruß

gee21 4. Jan 2013 00:51

AW: TDBXTypes.WideString-Wertetyp
 
Hallo

Habe nicht gesehen dass es schon eine zweite seite gibt. Ok ich glaube ich habe das gemacht was du geschrieben hast ;-)

Es steht: SQLsTmt: string $18F418 : $58E54C
SQLStmt 'select'

Gruess

Volker Z. 4. Jan 2013 00:57

AW: TDBXTypes.WideString-Wertetyp
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

sorry es ist wohl doch schon etwas spät. Ich meinte eigentlich den Wert, der neben SQLStmt steht (siehe Screenshot)

Gruß

gee21 4. Jan 2013 01:04

AW: TDBXTypes.WideString-Wertetyp
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Volker Z. (Beitrag 1197559)
Hallo,

sorry es ist wohl doch schon etwas spät. Ich meinte eigentlich den Wert, der neben SQLStmt steht (siehe Screenshot)

Gruß

Ja also da steht bei mir nur: 'select'
Ach und danke für deine Geduld ;-)

Anhang 38339

Volker Z. 4. Jan 2013 01:17

AW: TDBXTypes.WideString-Wertetyp
 
Hallo,

am Screenshot kann ich sehen, dass zwar s auf category_id bzw. SQLStmt auf select steht. Soweit sieht alles ganz gut aus. Was ich leider nicht sehen kann ist der else Zweig.

Gruß

gee21 4. Jan 2013 01:20

AW: TDBXTypes.WideString-Wertetyp
 
Liste der Anhänge anzeigen (Anzahl: 1)
So müsste es besser sein

Delphi-Quellcode:
  // Eine Tabelle ist jetzt ausgewählt, daher nun die entsprechenden Steuerelemente aktivieren.
  CheckBoxActive.Enabled := True;
  ButtonApply.Enabled := True;
  TableName := ListBox1.Items[ListBox1.ItemIndex]; //Tabellennamen abrufen

  // Feldnamen (Spaltennamen) für diese Tabelle abrufen.
  FieldNamesList := TStringList.Create;
  FieldNamesList.Clear;
  SQLConnection1.GetFieldNames(TableName, FieldNamesList);




   if FieldNamesList.Count > 0 then
     begin
       SQLStmt := 'select ';
       for I := 0 to FieldNamesList.Count - 1 do
         if s = '' then
           s := FieldNamesList[I]
         else
           s := s + ',' + FieldNamesList[I];
     SQLStmt := SQLStmt + s + ' from '+TableName;
     end

  else
   // Feldnamen nicht gefunden, daher '*' verwenden
   SQLStmt := 'select * from '+TableName;
  FreeAndNil(FieldNamesList);

  // SQL-Anweisung zum Abrufen aller Tabellendaten erstellen.
  EditSQL.Text := SQLStmt;
  // CommandText auf SQL-Anweisung setzen.
  SQLDataSet1.CommandText := EditSQL.Text;
  if ClientDataSet1.Active then
   ClientDataSet1.Close;
  ClientDataSet1.Open;
  CheckBoxActive.Checked := True;

end;

Volker Z. 4. Jan 2013 01:31

AW: TDBXTypes.WideString-Wertetyp
 
Hallo,

ist ist wohl definitiv zu spät für mich :) Setzte den Braikpoint doch mal

Delphi-Quellcode:
  if FieldNamesList.Count > 0 then
     begin
       SQLStmt := 'select ';
       for I := 0 to FieldNamesList.Count - 1 do
         if s = '' then
           s := FieldNamesList[I]
         else
           s := s + ',' + FieldNamesList[I];
     SQLStmt := SQLStmt + s + ' from '+TableName;
//-> genua hier    end
und poste dann den Wert von SQLStmt

Gruß

gee21 4. Jan 2013 01:38

AW: TDBXTypes.WideString-Wertetyp
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hmm merkwürdig. er hält nicht an. dafür kann ich nun wesentlich mehr einträge abrufen ohne Fehlermeldung. bei ein paar einträgen kommt aber immer noch .

gee21 4. Jan 2013 01:39

AW: TDBXTypes.WideString-Wertetyp
 
Aber jetzt crasht das Programm manchmal (Freeze)

Du ich muss mal schlafen gehen. Ich mach dann morgen weiter.

Keine Ahnung was jetzt los ist und das Programm einfriert, manchmal schon beim Verbinden.

Danke dir.

Volker Z. 4. Jan 2013 01:46

AW: TDBXTypes.WideString-Wertetyp
 
Hallo,

Delphi-Quellcode:
  if FieldNamesList.Count > 0 then
     begin
       SQLStmt := 'select ';
       for I := 0 to FieldNamesList.Count - 1 do
         if s = '' then
           s := FieldNamesList[I]
         else
           s := s + ',' + FieldNamesList[I];
     SQLStmt := SQLStmt + s + ' from '+TableName;
    end // <- also du setzt hier an dieser Stelle Deinen Breakpoint
Was für ein Wert steht dann in SQLstmt?

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.
Seite 2 von 3     12 3      

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