![]() |
pfad in einer datenbank speichern
Ein frohes neues Jahr wünsch ich erst einmal, :party:
ich hab ein kleines problemchen, ich bin noch anfänger und brauche einen Quelltext für einen button, ich hab schon im internet gesucht, aber ich finde nichts richtiges also, das soll so ablaufen: beim klick auf den button, soll sich das Windows "Datei öffnen" Fenster öffnen, dann sucht man sich eine datei aus z.B.: C:\bla\bal\bla.jpg und beim klicken auf OK, soll nur dieser pfad in einer datenbank gespeichert werden. Die datenbank hab ich bereits fertig vielen vielen dank vamp79 |
Vorwarnen: ich kenne mich kaum in Datenbanken aus, aber das sollte doch folgendermaßen funktionieren:
Delphi-Quellcode:
Chris
if OpenDialog.Execute then
sql_query := 'INSERT INTO table ... VALUES (...,'+OpenDialog1.FileName+',...);'; { dannn Query ausführen usw.} end; |
Hallo vamp79,
wenn du mit einer Paradox oder dBase Datenbank arbeitest, musst du nicht unbedingt SQL benutzen. Es geht dann auch mit:
Delphi-Quellcode:
Dabei gehe ich davon aus, dass du ein TTable Objekt mit dem Namen myFileNames benutzt, dieses auf deine Datenbanktabelle zeigt, die Tabelle ein Feld mit dem Namen "Namen" hat, das du mit dem Feldeditor als persistentes Feld hinzugefügt hast (über rechten Mausklick auf das TTable Objekt). Wenn du nicht zulassen willst, dass ein Eintrag mehrfach vorkommt, kannst du das Feld Namen indizieren und vor Einfügen abfragen, ob der Name schon existiert:
if OpenDialog.Execute then
begin myFileNames.Append; myFileNamesNamen.AsString := OpenDialog1.FileName; myFileNames.Post; end;
Delphi-Quellcode:
if OpenDialog.Execute then
if Not myFileNames.FindKey(OpenDialog1.FileName) then ... |
Hallo ich benutze auch ein Paradox Datenbank
Ich möchte gerne eine Hoistory speichern Also immer wenn ich auf senden drücke dann soll ich meiner datenbank ein neuer Eintrag gemacht werden: (Zeit Datum An Text) Diese Felder hab ich in meiner Datenbank wie kann ich das machen? Hab das bis jetzt mit der datenbank immer nur mit dem Navigator gemacht... Vielen Dank |
Hallo masters001,
wenn du wo auf "Senden" klickst? Ist das ein Schalter in deinem Programm? |
Hallo
Senden ist ein Button masters001 |
Hallo masters001,
Zitat:
Ich nehme an, Senden ist ein Button in deiner Anwendung. Ich habe deshalb gefragt, weil es ja auch hätte sein können, dass immer wenn du "senden" in deinem eMail Programm von AOL, T-Online oder deinem Netscape eMail Client betätigst die Historie festgehalten werden soll. Ist es aber ein Schalter in deinem Programm, dann ist es einfach. Du fügst dem OnClick Event des Senden-Schalters folgenden Code hinzu:
Delphi-Quellcode:
...
tabHistory.Append; { Datum und Zeit kann in einem Feld stehen } tabHistoryZeit.AsDateTime := Now; { An soll im Editfeld edAn stehen } tabHistoryAn.AsString := edAn.Text; tabHistoryText.Assign(meText.Lines); tabHistory.Post; |
Hehe...
Was ist denn hier tabHistory ? Ich habs jetzt mal mit
Code:
versucht!
Table1.Append;
Table1.Fields. //irgendwie so? Table1.Post Wenn ich jetzt bei dem table in der mitte das feld in meiner Datenbank history.db ausfüllen möchte wie sprech ich dann dieses Feld genau an das Es funktioniert? |
Hallo masters001,
tabHistory ist ein TTable Objekt, dem ich den Namen (property: name) tabHistory gegeben habe. Wenn du viele Tabellen verwendest, solltest du den TTable Objekten Namen geben, die sofort anzeigen, um welche Tabelle es sich handelt. Wenn du auf das TTable Objekt rechtsklickst und "Alle Felder hinzufügen" auswählst, werden alle Felder der zugrundeliegenden Tabelle als sogenannte persistente Felder (Objekte der von der Klasse TField abgeleitete Klassen) eigefügt. Der Name der entsprechenden TField Objekte ist dann "Tabellenname+FeldName" also z.B. tabHistoryZeit den Wert erhälst du über die Eigenschaft Value also z.B.
Delphi-Quellcode:
oder über Cast-Operatoren wie AsString oder AsDateTime, also z.B.
tabHistoryZeit.Value
Delphi-Quellcode:
Wenn du nicht mit persistenten Feldern arbeiten möchtest, kannst du auf dasselbe Feld mit
tabHistoryZeit.AsDateTime
Delphi-Quellcode:
zugreifen.
tabHistory.FieldByName('Zeit').AsDateTime
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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