Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Benötige dringend hilfe in ADO Grundlagen (https://www.delphipraxis.net/6986-benoetige-dringend-hilfe-ado-grundlagen.html)

MaxiMcL 29. Jul 2003 14:10


Benötige dringend hilfe in ADO Grundlagen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,

ich sitze seit geschlagenen 2 Wochen permanent vor meinem PC :( und versuche ein Programm zu schreiben, mit dem ich einer Access-Datenbank, bestehend aus 3 Spalten, Werte aus 3 Edit-Feldern zuweisen kann.
Jedoch blicke ich in Sachen ADO überhaubt nicht durch. Ich hab schon das ganze Web durchforstet, jedoch nirgends etwas für einen Anfänger gefunden.

Meine Fragen: Wie kann ich die Verbindung mit ADOConnect aufbauen und wie kann ich neue Zeilen in die Access-Datenbank hinzufügen?

Bitte helft mir :!:

Ich habe das Programmformular mal beigefügt.

jschade 29. Jul 2003 15:04

Re: Benötige dringend hilfe in ADO Grundlagen
 
hallo,

hab auch gerade vor 3 wochen angefangen, 'n bisschen mit delphi und access rumzuprobieren. das forum hier is dafür echt klasse. kann dir auch noch 'n buch empfehlen (so zum einstieg), falls du die möglichkeit hast irgendwo eins auszuleihen: datenbankprogrammierung mit borland delphi 6 / isbn 3-446-21736-3

1. du brauchst ne adocommand-komponente

als connection string gibst du folgendes ein:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\test.mdb

2. button

Code:
procedure TForm.Button1Click(Sender: TObject);

var a,b,c : String;

begin

a := Edit1.Text;
b := Edit2.Text;
c := Edit3.Text;

ADOCommand1.CommandType := cmdText;
ADOCommand1.CommandText := 'INSERT INTO Tabellenname(Spalte1,Spalte2,Spalte3) VALUES ('+QuotedStr(a)+','+QuotedStr(b)+','+QuotedStr(c)+')';
ADOCommand1.Execute;

end;
also bei mir funktioniert's so, hoffe dir hilft's weiter...

mfg jan

MaxiMcL 29. Jul 2003 15:45

Re: Benötige dringend hilfe in ADO Grundlagen
 
Vielen Dank für deine Hilfe. :D
Kann ich ADOCommand auch in Verbindung mit ADOConnection benutzen? Ich habe schon eine ADOConnection im Quelltext, die bestimmte Aufgaben hat.

MaxiMcL 29. Jul 2003 16:07

Re: Benötige dringend hilfe in ADO Grundlagen
 
Ich hab das mal probiert, das ADOCommand mit dem ADOConnection zu verbinden. Da kommt aber beim drücken auf den button ein fehler.

Ich hab das so in einer Funktion eingegeben:
Delphi-Quellcode:
function TDataModule1.NeuerSatz(Wert1,Wert2,Wert3: string): Boolean;
begin
  NeuerSatz := true;
  try
    ADOCommand1.CommandText := 'INSERT INTO B 24-700(Artikelbeschreibung,Artikelname,ArtikelNr) VALUES ('+QuotedStr(Wert1)+','+QuotedStr(Wert2)+','+QuotedStr(Wert3)+')';
    ADOCommand1.Execute;
  except
    NeuerSatz := false;
  end;
end;

jschade 30. Jul 2003 10:38

Re: Benötige dringend hilfe in ADO Grundlagen
 
was bekommst du für ne meldung?

könnte evtl. daran liegen, dass du diese zeile vergessen hast?!:

Code:
ADOCommand1.CommandType := cmdText;

MaxiMcL 30. Jul 2003 12:35

Re: Benötige dringend hilfe in ADO Grundlagen
 
Also. Die Fehlermeldung lautet:

Im Projekt Project1.exe ist eine Exception der Klasse EOleException aufgetreten. Meldung:'Syntaxfehler in der INSERT INTO-Anweisung'. ...

Auch nachdem ich
Delphi-Quellcode:
ADOCommand1.CommandType := cmdText;
eingefügt habe.

Ich werde aus der Fehler,eldung nich schlau. Vielleicht weil der Tabellenname 'B 24-700' probleme macht?

MaxiMcL 30. Jul 2003 12:37

Re: Benötige dringend hilfe in ADO Grundlagen
 
Das ist die Prozedur, in der die Funktion aufgerufen wird:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  DataModule1.NeuerSatz(NeuerSatz.Serien_Nr_Mainboard,
  NeuerSatz.Teilenr, NeuerSatz.Datecode);
end;

r_kerber 30. Jul 2003 12:47

Re: Benötige dringend hilfe in ADO Grundlagen
 
Hast Du tatsächlich einen Tabellennamen mit 'nem Leerzeichen? Das finde ich schon etwas merkwürdig. Dann schreibe den Tabellennamen mal in "".
Und lass beim INSERT-Befehl mal die Klammer mit den Spaltennnamen weg. Das hast Du sicher mit dem UPDATE-Befehl verwechselt

MaxiMcL 30. Jul 2003 12:54

Re: Benötige dringend hilfe in ADO Grundlagen
 
Jetzt sieht die Zeile so aus, und es kommt leider immernoch der gleiche Fehler. :cry:

Delphi-Quellcode:
ADOCommand1.CommandText := 'INSERT INTO "B 24-700" VALUES ('+QuotedStr(Wert1)+','+QuotedStr(Wert2)+','+QuotedStr(Wert3)+')';
Ich schaue nochmal nach dem Tabellennamen.

jschade 30. Jul 2003 14:39

Re: Benötige dringend hilfe in ADO Grundlagen
 
Zitat:

Zitat von r_kerber
Hast Du tatsächlich einen Tabellennamen mit 'nem Leerzeichen? Das finde ich schon etwas merkwürdig. Dann schreibe den Tabellennamen mal in "".
Und lass beim INSERT-Befehl mal die Klammer mit den Spaltennnamen weg. Das hast Du sicher mit dem UPDATE-Befehl verwechselt

hab's mal kurz ausprobiert und dein problem is wirklich der tabellenname mit dem leerzeichen!hab's auch nicht mit insert into "tabellenname" ... hinbekommen...

die spaltennamen kommen übrigens beim insert in klammern hinter den tabellennamen, denn beim update werden sie doch durch das "set" im sql-string (update tabelle set Spalte='wert') bestimmt,oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.
Seite 1 von 2  1 2      

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