Hallo,
mein Gott hast Du scharfsinnige Augen
Das Updaten der Zeilen funktioniert jetzt, Danke deiner Hilfe.
Leider noch keine Leeren Datensätze, also "" Zellen... Mal Angenommen, ich möchte das Adressfeld1 leeren und speichern in der DBGrid. Das wird nicht übernommen.
DBGrid.Datasource -> UniMainModule.DataSource3.Dataset -> mySQLQuery3.UpdateObject -> mySQLUpdateSQL1
Code komplett:
Code:
procedure TfmAdressverwaltung.UniFormShow(Sender: TObject);
begin
UniButton1.Click;
end;
procedure TfmAdressverwaltung.UniButton1Click(Sender: TObject);
var
search, Tabelle: String;
begin
if UniMainModule.RRSuche = True then
begin
Tabelle := 'Rechnungsadressen';
end else
begin
Tabelle := 'Lieferadressen';
end;
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Clear;
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('update `' + Tabelle + '`');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('set');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Firma = :Firma,');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Adress1 = :Adress1,');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Adress2 = :Adress2,');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Straße = :Straße,');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('PLZ = :PLZ,');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Ort = :Ort,');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Land = :Land,');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Such1 = :Such1,');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Such2 = :Such2');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('where');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Firma = :OLD_Firma and');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Adress1 = :OLD_Adress1 and');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Adress2 = :OLD_Adress2 and');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Straße = :OLD_Straße and');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('PLZ = :OLD_PLZ and');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Ort = :OLD_Ort and');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Land = :OLD_Land and');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Such1 = :OLD_Such1 and');
MainModule.UniMainModule.mySQLUpdateSQL1.ModifySQL.Add('Such2 = :OLD_Such2');
search := '%' + UniEdit1.Text + '%';
fmstart1.UniMemo1.Lines.Clear;
fmstart1.UniMemo1.Lines.Text := 'select Firma, Adress1, Adress2, Straße, PLZ, Ort, Land, Such1, Such2 from ' + Tabelle + #10 +
'where Ident = ' + IntToStr(UniMainModule.Ident) + #10 +
'AND (Firma like '+QuotedStr(search)+' OR Adress1 like '+ QuotedStr(search)+' OR Adress2 like '+ QuotedStr(search)+' OR Straße like '+ QuotedStr(search)+ 'OR PLZ like '+ QuotedStr(search)+ 'OR Ort like '+ QuotedStr(search)+ 'OR Land like '+ QuotedStr(search)+ 'OR Such1 like '+ QuotedStr(search)+ 'OR Such2 like '+ QuotedStr(search)+')';
UniMainModule.mySQLQuery3.SQL.Text := fmstart1.UniMemo1.Lines.Text;
UniMainModule.mySQLQuery3.Open;
UniDBGrid1.Columns[0].Width := 250;
UniDBGrid1.Columns[1].Width := 100;
UniDBGrid1.Columns[2].Width := 70;
UniDBGrid1.Columns[3].Width := 150;
UniDBGrid1.Columns[4].Width := 50;
UniDBGrid1.Columns[5].Width := 100;
UniDBGrid1.Columns[6].Width := 100;
UniDBGrid1.Columns[7].Width := 100;
UniDBGrid1.Columns[8].Width := 100;
end;