Thema: Delphi SQL Verständnisproblem

Einzelnen Beitrag anzeigen

stonimahoni

Registriert seit: 12. Okt 2004
146 Beiträge
 
Delphi 7 Professional
 
#4

Re: SQL Verständnisproblem

  Alt 20. Sep 2005, 14:15
Hi Lemmy...


(am Rande : Kollege von mir wird auch so genannt : Lemmy )


soo....nun zum eigentlichen :



wenn ich Deine Anweisung benutze bekomm ich folgendes :


---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt xxx.exe ist eine Exception der Klasse EOleException aufgetreten. Meldung: 'Datentypen in Kriterienausdruck unverträglich'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------



@ Sharky :

ich hatte das vorher mit Parametern... :
Delphi-Quellcode:
.
.
.
FormAuftragStat.ADOQueryAuftrStat.Close;

FormAuftragStat.ADOQueryAuftrStat.SQL.Clear;

FormAuftragStat.ADOQueryAuftrStat.ParamCheck := True; // Parameter verwenden

FormAuftragStat.ADOQueryAuftrStat.SQL.Add('update auftrag set kudienst_mahn1 = :datum where repnr in (:nummer);');

FormAuftragStat.ADOQueryAuftrStat.Parameters.ParamByName('datum').DataType := ftDate; // Typ des Parameters ":datum"

FormAuftragStat.ADOQueryAuftrStat.Parameters.ParamByName('datum').Value := Date; // Wert zuweisen

FormAuftragStat.ADOQueryAuftrStat.Parameters.ParamByName('nummer').DataType := ftInteger; // Typ des Parameters ":nummer"

FormAuftragStat.ADOQueryAuftrStat.Parameters.ParamByName('nummer').Value := such_repnr; // Wert zuweisen

FormAuftragStat.ADOQueryAuftrStat.execsql;

das ganze hatte ich in ner Schleife drin :
Delphi-Quellcode:
.
.
.
   such_repnr := '';
   if (FormAuftragStat.DBGridAuftrStatListe.SelectedRows.Count > 0) then
      with FormAuftragStat.DBGridAuftrStatListe.DataSource.DataSet do
      for i:=0 to FormAuftragStat.DBGridAuftrStatListe.SelectedRows.Count-1 do
      begin
         GotoBookmark(pointer(FormAuftragStat.DBGridAuftrStatListe.SelectedRows.Items[i]));
         { die repnr`n werden alle in einen string geschrieben und durch komma getrennt
         und für den sql befehl als bedingung benutzt }

         such_repnr := such_repnr + inttostr(FormAuftragStat.DataSourceAuftrStat.DataSet.FieldByName('Repnr').Value);
         { nach der letzten repnr soll kein komma mehr angehängt werden }
         if (i < (FormAuftragStat.DBGridAuftrStatListe.SelectedRows.Count-1)) then
         such_repnr := such_repnr + ',';

.
.
.
aber hier bekomme ich das folgende Problem :

listenindex überschreitet das maximum (1)


*argh*

irgendwo hänge ich





Gruss

Carsten
Carsten
  Mit Zitat antworten Zitat