Autor Beitrag
kelly
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 14.12.07 19:12 
Hallo, ich fange grade mit Delphi an und habe nun die schöne Aufgabe bekommen eine Access Datenbank mit einzubinden.
Hierfür habe ich mein Glück mit den ADO Komponenten versucht. Es ist so das ich eine fertige Datenbank mit Tabellen habe,und ich habe es auch schon geschafft mir den Inhalt dieser Tabelle in DBEdit Feldrn Anzeigen zu lassen. Mein Problem ist nun das wenn ich neue Werte/Namen in die DBEdit Felder schreibe, diese nicht in der Datenbank / Tabelle hinterlegt werden. Warum nicht?

Und eine weitere Frage ist wie kann ich mir einen bestimmten Datensatz aus dieser Tabelle anzeigen lassen? Wenn ich mir den Inhalt der Tabelle Anzeigen lasse, kann ich diese mit der Navigationsleiste durchblättern und mir Datensatz für Datensatz anzeigen lassen, aber wie lasse ich mir z. B. direkt den 3. Datensatz aus der Tabelle anzeigen?

Freue mich über jede Hilfe die mir angeboten wird.
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 15.12.07 13:12 
also beim schreiben musst du so vorgehen (sorry, wenns nicht ganz passt, hab in letzter Zeit mich nur mit der BDE rumgeärgert ;) )

ausblenden Delphi-Quelltext
1:
2:
3:
4:
  Table.Insert; //neuer Eintrag)
  Table.Edit;
  Table.FieldByName('Feld').AsString:=Edit1.Text;
  Table.Post;


von den DBEdits rate ich ab, weil bei denen kann man keine Überprüfungen vornehmen (z.B. obs ein Datum ist), da er das Zeug gleich reinschreibt

mit Table.Next und Table.Prior (ich hoff doch mal, dass die so hießen) kannst du die Einträge rauf und runter. Mit Table.FieldByName('FeldName').AsString kannst du sie auslesen.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
kelly Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Mo 17.12.07 12:58 
Titel: das hat schon geholfen
ja, vielen dank, das mit dem schreiben und lesen klappt jetzt wunderbar, bleibt noch die frage wie ich ganz gezielt nur den datensatz nummer 3 aus der tabelle x zum beispiel angezeigt bekomm? schön zu wissen wäre es auch wie ich eine datensatzsuche durchführen kann. also ich gebe in einem editfeld z. b. den namen meier ein und es soll dann geschaut werden ob dieser name in der tabelle vorhanden ist. ach ja und bevor ich es vergesse wie kann ich denn ganz gezielt einen datensatz löschen und/oder überschreiben?
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Mo 17.12.07 16:53 
löschen müsste mit Table.Delete gehen...

Suchen ist schlecht, die Table hat zwar ein Filter-Feld, aber eigentlich musst du das über SQL machen (Query).

Wenn du zum Beispiel Eintrag Nr 3 willst dann würde ich das so machen (wenn kein SQL):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  Table.First;
  while not Table.FieldByName('ID').AsInteger=3 do
    Table.Next;

  if Table.FieldByName('ID').AsInteger=3  then
      //lesen
  else
      //diesen Eintrag gibt es gar nicht

dabei musst du für jeden Eintrag in der Datenbank ein ID-Feld mitschreiben (musst du aber ohnehin für fast alles)

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
kelly Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Di 18.12.07 09:34 
ok, das hab ich soeit verstanden und konnte es auch umsetzen. noch einmal vielen dank das du mir mit rat und tat zur seite stehst. für mich als absoluter anfänger ist es natürlich wichtig viele fragen zu stellen, aber es ist nicht unbedingt so das jeder so bereitwillig auskunft gibt.

kannst du mir auch noch sagen wie das mit dem Query geht? Falls ich die such weiter anpassen muss? dann hätte ich da auch noch eine weitere frage. ich lasse mir sämtliche kunden in einem DBGrid anzeigen, ist es möglich auf einen dieser einträge einen doppelklick zu machen und die daten werden mir dann wieder in der eingabemaske angezeigt?
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Do 20.12.07 17:06 
sry, hab diesen Topic übersehen

user profile iconkelly hat folgendes geschrieben:
für mich als absoluter anfänger ist es natürlich wichtig viele fragen zu stellen, aber es ist nicht unbedingt so das jeder so bereitwillig auskunft gibt.

das wundert mich auch, ich bin ja nicht der einzige, der sich mit ADO auskennt (ich kenn mich sowieso nicht wirklich mit ADO aus, hab aber schonmal ein Projekt damit gemacht).


user profile iconkelly hat folgendes geschrieben:
kannst du mir auch noch sagen wie das mit dem Query geht? Falls ich die such weiter anpassen muss?

das ADOQuery musst du mit der Connection verbinden. Danach kannst du einfach in das SQL-Feld schreiben, etwa sowas: "SELECT * FROM [dein Tabellenname] WHERE [irgendein Feld] LIKE '%Meier%''' ", aber zu SQL solltest du dir ein Tutorial suchen.

user profile iconkelly hat folgendes geschrieben:
ich lasse mir sämtliche kunden in einem DBGrid anzeigen, ist es möglich auf einen dieser einträge einen doppelklick zu machen und die daten werden mir dann wieder in der eingabemaske angezeigt?

hmmm...entweder du liest das DBGrid aus (mit DBGrid.Cells[X,Y]) oder du musst wissen, welche ID der angewählte Eintrag hat (also welcher es ist) damit du ihn in der Datenbank suchen kannst. Ersteres wäre wohl vorerst einfacher.

Wenn du noch Fragen hast und ich wieder ewig nicht antworte kannst du mir auch eine PN schicken ;)

Xion

//PS: hier ist ein kurz-Tutorial www.torsten-horn.de/....htm#SQL-Anweisungen

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
kelly Threadstarter
Hält's aus hier
Beiträge: 10



BeitragVerfasst: Fr 21.12.07 17:06 
nochmals vielen dank für die tolle hilfe!!!

falls weiter fragen auftauchen werd ich gern auf dich zurück greifen. wünsch dir schöne festtage.
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: So 23.12.07 11:14 
dir auch schöne weihnachten :D

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)