Delphi-PRAXiS
Seite 3 von 7     123 45     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Allgemeine Fragen zu Access + Delphi (https://www.delphipraxis.net/6539-allgemeine-fragen-zu-access-delphi.html)

Saulo 19. Jul 2003 08:50

Re: Allgemeine Fragen zu Access + Delphi
 
Oh danke, habs schon... es muss nämlich nicht ADOQuery1.Next heißen sondern ADOTAble1.Next

Saulo 19. Jul 2003 12:34

Re: Allgemeine Fragen zu Access + Delphi
 
ein weiteres problem hat sich ergeben: ich kann jetzt nur das passwort einer bestimmten person abfragen, also:

Delphi-Quellcode:
SELECT Passwort FROM TUser WHERE User = 'Username';
wie kann ich stattdessen eine Variable einfügen? z.B. den Namen aus einem DBEdit-Feld?

MrSpock 19. Jul 2003 14:34

Re: Allgemeine Fragen zu Access + Delphi
 
Hallo Saulo,

dazu kannst du eine parametrisierte Query benutzen. Das SQL Statement lautet in disem Fall z.B:

SQL-Code:
SELECT Passwort FROM TUser WHERE User = :usr
durch den Doppelpunkt hast du einen Parameter erzeugt. Diesesm weist du einen Wert zu, bevor du die Query ausführst:

Delphi-Quellcode:
ADOQuery1.ParamByName('usr').AsString := 'MrSpock';
ADOQuery1.Open;
oder du erzeugst das SQL Statement dynamisch:

Delphi-Quellcode:
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT Passwort FROM TUser WHERE User ='+QuotedStr(Edit1.Text));
ADOQuery1.Open;

Saulo 21. Jul 2003 20:05

Re: Allgemeine Fragen zu Access + Delphi
 
ok, danke! übrigens: die noten haben wir schon gekriegt dafür (4+....) aber wir müssen das programm montag noch abgeben dannw irds gebrannt und veröffentlicht... und ich möcht echt ne bombe abgeben, damit der mal sieht dass wir doch nicht son faluer haufen sind... :)
also dann die nächsten fragen:

- wie heißt die methode zum aktivieren und löschen eines bestimmten nestimmte datensatzes? (das steht auch nicht in der hilfe....)

- wie kann man den inhalt eines Edit-Feldes in die Tabelle schrieiben und wie einen boolean-wert der tabelle zuweisen?

danke schon mal!

Saulo 21. Jul 2003 22:48

Re: Allgemeine Fragen zu Access + Delphi
 
oh, eine paar fehler... also nochmal konkreter:

- wie heißt die methode zum aktivieren und löschen eines bestimmten datensatzes? (z.B. wenn ich den datensatz mit der ID '4' löschen möchte)

- wie kann man den inhalt eines Edit-Feldes in ein Feld der Tabelle schreiben und einem feld einen boolean-wert zuweisen? und wie weiat man dem feld ein datum zu, also als welche deklaration (string, TDateTime...) oder geht das irgendwie anders bzw. genauso wie ein edit-feld zuweisen...?

- wie kann ich zu einem datum n tage addieren und das in einem feld speichern?

MrSpock 22. Jul 2003 06:55

Re: Allgemeine Fragen zu Access + Delphi
 
Hallo Saulo,

wie wäre es einmal mit einem Buch zum Thema Datenbankprogrammierung?

Den Datensatz mit der ID 4 löscht du mit:

SQL-Code:
DELETE FROM t_personen WHERE ID = 4
oder, falls ID ein Schlüsselfeld ist, z.B. mit

Delphi-Quellcode:
if t_personen.FindKey([4]) then
  t_personen.Delete;
Den Inhalt eines Editfeld in die Datenbank schreiben geht mit:

Delphi-Quellcode:
{ Datensatz, in den eingefügt werden soll suchen }
if t_personen.FindKey([4]) then
begin
  t_personen.Edit;
  t_personen.FieldByName('Inhalt').AsString := Edit1.Text;
  t_personen.Post;
end;

r_kerber 22. Jul 2003 07:06

Re: Allgemeine Fragen zu Access + Delphi
 
Zitat:

Zitat von MrSpock
Den Inhalt eines Editfeld in die Datenbank schreiben geht mit

oder per SQL:
SQL-Code:
UPDATE t_personen SET (Inhalt) = ('Text') WHERE ID = 4

Saulo 23. Jul 2003 21:46

Re: Allgemeine Fragen zu Access + Delphi
 
Zitat:

wie wäre es einmal mit einem Buch zum Thema Datenbankprogrammierung?
ist echt zu teuer... hab mir ein delphi buch bestellt, 50€... nur hat das leide rnicht viel mit datenbankprogrammierung zu tun....

naja... also das mit dem GotoKey funzt irgendwie nicht... der befehl wird nicht erkannt, also 'undeclared indentifier'... woran liegts? t_personen ist doch in diesem Beispiel die tabelle oder? also in meinem Falld dann eben DataModule2.TUser

Saulo 26. Jul 2003 23:57

Re: Allgemeine Fragen zu Access + Delphi
 
ok, dann nochmal eine letzte frage: wie implementiert man eine suchfunktion? ich würde es am liebsten in SQL machen... geht das? in delphi geht das doch irgendwie mit locate oder so....?

Saulo 27. Jul 2003 11:19

Re: Allgemeine Fragen zu Access + Delphi
 
hilföööööö.... :?
und noch ne frage :roll:

also ich steh vor dem problem, dass ein user erst dann weiterkommt wenn er sich registriert hat, und das soll hal so laufen dass man auf ok klickt und dann ein button aktiv (alsoo enabled) wird. nur irgendiwe klappt das nicht so ganz, hier der quelltext:

Code:
function username : boolean;
begin
  Datamodule2.qryUser.Close;
  DataModule2.qryUser.SQL.Clear;
  DataModule2.qryUser.SQL.Add('SELECT Username FROM TUser WHERE Username =' +QuotedStr(Form3.Edit1.Text));
  DataModule2.qryUser.Open;
end;

procedure TForm3.Button1Click(Sender: TObject);
begin
  username;
  if username = true
  then ShowMessage('Der Username ist bereits vergeben!')
  else
  if
  (form3.MaskEdit1.Text = form3.MaskEdit2.Text)
  and
  (form3.MaskEdit2.Text <> '')
  then
    begin
      try
        DataModule2.TUser.Edit;
        DataModule2.TUser.FieldByName('Passwort').AsString := form3.MaskEdit2.text;
        DataModule2.TUser.FieldByName('Username').AsString := form3.Edit1.Text;
        DataModule2.TUser.Post;
      except
        ShowMessage('Fehler unsoo');
      end;
    end
  else ShowMessage('Das Passwort wurde falsch bestätigt!');

  if DataModule2.TUser.FieldByName('Vorname').AsString = ''
  then
    begin
      showmessage ('Bitte geben sie ihren Vornamen an!');
      form3.Button3.Enabled := false;
    end
  else form3.Button3.Enabled := true;

  if DataModule2.TUser.FieldByName('Nachname').AsString = ''
  then
    begin
      showmessage ('Bitte geben sie ihren Nachnamen an!');
      form3.Button3.Enabled := false;
    end
  else form3.Button3.Enabled := true;

  if DataModule2.TUser.FieldByName('Username').AsString = ''
  then
    begin
      showmessage ('Bitte geben sie einen Username an!');
      form3.Button3.Enabled := false;
    end
  else form3.Button3.Enabled := true;

  if inttostr(DataModule2.TUser.FieldByName('Tel').AsInteger) = ''
  then
    begin
      showmessage ('Bitte geben sie ihre Telefonnummer an!');
      form3.Button3.Enabled := false;
    end
  else form3.Button3.Enabled := true;
end;

procedure TForm3.Button2Click(Sender: TObject);
begin
  form3.close;
  form1.show;
end;
der Username hat einen Primärschlüssel, deswegen soll am anfang geprüft werden ob der eingegebene schon vorhanden ist, nur irgednwie klappt das nicht ganz... liegt es daran dass die ID auch einen Primärschlüssel hat? können nicht beide einen Primärschlüssel haben? und am ende soll der weiter-butten erst aktiviert werden, wenn alle felder ausgefüllt sind. aber wenn man sich durch die ShowMessages durchgeklickt hat, wird er nach der letzten einfach aktiviert :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:02 Uhr.
Seite 3 von 7     123 45     Letzte »    

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-2025 by Thomas Breitkreuz