![]() |
Sql - Ado - Values
hallo,
wie ist es, wenn man ne neue zeile bei SQL schreibt? ich habe folgendes gemacht:
Delphi-Quellcode:
Ich habe fehler beim SQL.Text. Ich weisse nicht, ob bei neuer zeilen man die Hochklammer hinfügen soll.
procedure TForm2.Button3Click(Sender: TObject);
begin with adoquery1 do begin sql.Text:= 'Insert Into Tab_Fb_Ziel(paul, simon, alex, jean, rene, alain, simon, dominique, ' 'Raymond, Sylax, jeanne, Yvonne, Claire, Nina, Pierre, Janson, Louis, Lila,' 'maurice )Values (:paul, :simon, :alex, :jean, :rene, :alain, :simon, :dominique, ' ':Raymond, :Sylax, :jeanne, :Yvonne, :Claire, :Nina, :Pierre, :Janson, :Louis, :Lila,' ':maurice )'; Parameters.ParamByName('paul').Value:=Edit1.Text; Parameters.ParamByName('Simon').Value:=Edit2.Text; Parameters.ParamByName('alex').Value:=Edit3.Text; Parameters.ParamByName('jean').Value:=Edit4.Text; Parameters.ParamByName('rene').Value:=Edit5.Text; Parameters.ParamByName('alain').Value:=Edit6.Text; ....... end; end; poter |
Re: Sql - Ado - Values
die erste fehlern habe ich endeckt uzw.:
Delphi-Quellcode:
ich habe die '+' hingefügt aber ab Values geht es nicht mehr
procedure TForm2.Button3Click(Sender: TObject);
begin with adoquery1 do begin sql.Text:= 'Insert Into Tab_Fb_Ziel(paul, simon, alex, jean, rene, alain, simon, dominique, ' + 'Raymond, Sylax, jeanne, Yvonne, Claire, Nina, Pierre, Janson, Louis, Lila,' + 'maurice )Values (:paul, :simon, :alex, :jean, :rene, :alain, :simon, :dominique, ' ':Raymond, :Sylax, :jeanne, :Yvonne, :Claire, :Nina, :Pierre, :Janson, :Louis, :Lila,' ':maurice )'; Parameters.ParamByName('paul').Value:=Edit1.Text; Parameters.ParamByName('Simon').Value:=Edit2.Text; Parameters.ParamByName('alex').Value:=Edit3.Text; Parameters.ParamByName('jean').Value:=Edit4.Text; Parameters.ParamByName('rene').Value:=Edit5.Text; Parameters.ParamByName('alain').Value:=Edit6.Text; ....... end; end; |
Re: Sql - Ado - Values
Bonjour poter,
um einen String aus einzelnen Literalen zusammen zu setzen musst du auch wirklich alle Literale verketten:
Delphi-Quellcode:
Bonne Chance
procedure TForm2.Button3Click(Sender: TObject);
const STMT = 'Insert Into Tab_Fb_Ziel(' + 'paul, simon, alex, jean, rene, alain, simon, dominique, Raymond, Sylax, ' + 'jeanne, Yvonne, Claire, Nina, Pierre, Janson, Louis, Lila, maurice ' + ') Values (' + ':paul, :simon, :alex, :jean, :rene, :alain, :simon, :dominique, :Raymond, :Sylax, ' + ':jeanne, :Yvonne, :Claire, :Nina, :Pierre, :Janson, :Louis, :Lila, :maurice ' + ')' ; begin with adoquery1 do begin // wenn STMT bis auf Parameter statisch ist, // dann genügt einmailiges Zuweisen in FormCreate // oder im Object Inspector und dann muss die Query // nur geschlossen werden: // Close; SQL.Text := STMT; Parameters.ParamByName('paul').Value := Edit1.Text; // ... Open; end; end; |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Windows API / MS.NET Framework API" nach "Datenbanken" verschoben.
Auch wenn es evtl. nur um die Delphi-Grundlagen geht, dem Titel nach gehört das hier hin. |
Re: Sql - Ado - Values
Merci Monsieur,
je vais essayer :-D |
Re: Sql - Ado - Values
Danke, es lauft ganz gut :thumb:
wie kann ich vermeiden, dass ein datensatz 2mal gespeichert wird? bzw eine routine schreiben, die erstmal prüft, ob die identische daten in datenbank vorhanden ist? grüß poter |
Re: Sql - Ado - Values
Oder auf DB-Ebene einen passenden Unique-Index setzen.
|
Re: Sql - Ado - Values
wie ist es praktisch gemeint?
|
Re: Sql - Ado - Values
Du kannst in einer Tabelle ein oder mehrere Felder in Kombination mit einem Unique Index versehen. Dann sorgt das DBMS dafür, dass es nur einen Datensatz mit dem Wert des Feldes oder der Kombination geben darf.
Angenommen, Du hast eine Tabelle mit Benutzern und möchtest sicherstellen, dass die Kombination aus Name und Vorname eindeutig ist. Also legst Du einen Unique Index über diese beiden Felder (Achtung: 1 Index über 2 Felder, nicht jeweils einen!). Dabei ist zu beachten, dass beide Felder möglichst NOT NULL definiert sein sollten. Anschließend führt jeder Versuch, dieselbe Kombination von Namen und Vornamen (z.B. Meier,Heinz) erneut einzufügen, zum Fehler. |
Re: Sql - Ado - Values
wurde es ungefähr so aussehen?
Delphi-Quellcode:
procedure TForm2.Button3Click(Sender: TObject);
begin with adoquery1 do begin CREATE UNIQUE INDEX ID_tabziel ON Tab_Fb_Ziel ('Name,Kunde_nr, datum'); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz