AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wert in Datenbank schreiben

Wert in Datenbank schreiben

Ein Thema von Stocki1990 · begonnen am 7. Mär 2009 · letzter Beitrag vom 7. Mär 2009
Antwort Antwort
Stocki1990

Registriert seit: 26. Okt 2008
8 Beiträge
 
#1

Wert in Datenbank schreiben

  Alt 7. Mär 2009, 21:19
Datenbank: Access-Datenbank • Zugriff über: Access
Servus Leute!

Gerade bin ich damit beschäftigt, ein kleines Delphi-Schulprojekt zu erstellen.
Es handelt sich hier um einen Vokabeltrainer.

Wenn man eine Vokabel richtig bzw. falsch hat, sollte dies in einer Datenbank vom Programm aus,
vermerkt werden.

Ich habe eine Prodezur erstellt, welche mir sagt, ob die eingegeben Vokabel richtig oder falsch sind,
wie ihr hier sehen könnt:

Delphi-Quellcode:
procedure TForm1.Loesungpruefen();
var
Faktor : integer;
begin
if edit1.text = Adoquery1.fieldvalues['Fremdsprache'] then
begin
img_true.visible := true;
img_false.visible := false;
Faktor := 1;
 AdoQuery1.Edit;
 Adoquery1.fieldvalues['Bewertung'] := Adoquery1.fieldvalues['Bewertung'] + Faktor;
 adoquery1.Post;
 
adoquery1.Next;
deutsch();

end
else
begin
 If Messagedlg(adoquery1.fieldvalues['Deutsch'] + ' heißt auf Englisch ' + adoquery1.fieldvalues['Fremdsprache'], mtConfirmation,[mbok], 0) = mrok then
begin
img_true.visible := false;;
img_false.visible := true;
 Faktor := -3;
 AdoQuery1.Edit;
 Adoquery1.fieldvalues['Bewertung'] := Adoquery1.fieldvalues['Bewertung'] +Faktor;
 adoquery1.Post;

adoquery1.Next;
deutsch();

end;

Ich habe diese Funktion mehrmals kontrolliert und konnte den Fehler nicht ausfindig machen.
Die Funktion will mir einfach nichts in die Datenbank schreiben.

Ich hoffe, dass ihr mir hier weiterhelfen könnt.

Danke schonmal im Voraus für eure Mühen
Christoph

[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
Angehängte Dateien
Dateityp: zip vokabeltrainer_385.zip (712,6 KB, 3x aufgerufen)
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Wert in Datenbank schreiben

  Alt 7. Mär 2009, 21:36
Das sieht soweit richtig aus.

Du solltest FieldByName benutzen...
Delphi-Quellcode:
procedure TForm.Loesungpruefen;
var Faktor : integer;
    Save : boolean;
begin
  Save:=false;
  if Edit1.Text = AdoQuery.FieldByName('Fremdsprache').AsString then
  begin
    img_true.visible := true;
    img_false.visible := false;
    Faktor := 1;
    Save := true;
  end
  else begin
    if Messagedlg(AdoQuery.FieldByName('Deutsch').AsString +
                  ' heißt auf Englisch ' +
                  AdoQuery.FieldByName('Fremdsprache').AsString,
                  mtConfirmation, [mbOK], 0) = mrok then
    begin
      img_true.visible := false;;
      img_false.visible := true;
      Faktor := -3;
      Save := true;
    end;
  end;
  if Save then
  begin
    AdoQuery.Edit;
    AdoQuery.FieldByName('Bewertung').AsInteger :=
      AdoQuery.FieldByName('Bewertung').AsInteger + Faktor;
    AdoQuery.Post;
    AdoQuery.Next;
    deutsch;
  end;
end;
Wie sehen deine Connection-Einstellungen aus?
  Mit Zitat antworten Zitat
Stocki1990

Registriert seit: 26. Okt 2008
8 Beiträge
 
#3

Re: Wert in Datenbank schreiben

  Alt 7. Mär 2009, 21:42
Servus Omata!

Danke für die rasche Antwort.
- Nun geht's

Anbei noch für dich der Delphi-Code
meiner Connection-Einstellungen:

Delphi-Quellcode:
function tform1.DatenverbindungHerstellen(): boolean;
var
   Provider, DataProvider, DataSource: string;

begin
   Provider := 'MSDataShape.1';
   DataProvider := 'Microsoft.Jet.OLEDB.4.0';
   DataSource := extractfilepath(application.ExeName) + 'vokabel.mdb';

   if fileexists(DataSource) then begin
      if ADOConnection1.Connected then ADOConnection1.Close;
      ADOConnection1.ConnectionString := 'Provider=' + Provider + ';Data Provider=' + DataProvider + ';Data Source=' + DataSource;
      try
        ADOConnection1.Connected := true;
        result := true;
      except
        result := false;
      end;

   end else begin
       result := false;

   end;

end;
Danke nochmals für die rasche unkomplizierte Hilfe
Grüße
Christoph
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz