Hi,
Zitat von
Albi:
Delphi-Quellcode:
Select Count( * ) From DBDMand WHERE Name = :sName AND Vorname = :sVorname OR Firma = :sFirma
into :iMID,
If iMID = 0 Then
Insert Into DBDMand (AID, MID) Values (:AID, :iMID);
das hier macht absolut keinen Sinn! Wenn Du einmal zwei Mandanten hast, die identische Vor und Nachnamen haben bist Du aufgeschmissen... Deshalb gibts so ne Erfindung die sich PrimaryKey nennt und die Du auch einsetzt. Warum suchst Du denn den Mandanten nochmals raus, wenn Du eh schon die ID hast?
SQL-Code:
Create Procedure Test1(
Input Variable)
Returns(
Output Variablen))
as
Declare Variable iCount
integer;
Begin
For
Select Count( * )
From DB WHERE ID = :sID
Into: iCount
Do
Hier suchst DU doch anhand der Mandanten-ID nach vorhandenen Datensätzen, also warum verwendest Du diese nicht direkt für den Insert.
Von dem mal abgesehen macht das:
SQL-Code:
Select Count( * ) From DBDMand WHERE Name = :sName AND Vorname = :sVorname OR Firma = :sFirma
into :iMID,
If iMID = 0 Then
Insert Into DBDMand (AID, MID) Values (:AID, :iMID);
keinen Sinn! Wenn iMID=0 dann wird ein Eintrag in die Tabelle DBDMand gemacht und als Wert für iMID 0 eingetragen. Ist das so gewollt?? Ich dachte dass iMid der PrimaryKey sein soll....?!
Kannst DU mal die beiden Tabellen posten (Create Tabel), dann kann ich Dir vielleicht ne SP zusammenbasteln...
Grüße
Lemmy