AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem beim schreiben in DB
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim schreiben in DB

Ein Thema von Pepsen · begonnen am 10. Okt 2006 · letzter Beitrag vom 10. Okt 2006
Antwort Antwort
Pepsen

Registriert seit: 4. Sep 2006
Ort: Bremen
13 Beiträge
 
#1

Problem beim schreiben in DB

  Alt 10. Okt 2006, 10:23
Datenbank: Paradox • Version: 7 • Zugriff über: Query
VORSICHT ANFÄNGER!

hallo erstmal...

...ich hab eine kleine Adressdatenbank (Paradox 7) erstellt und greife mit einem Query auf sie zu! Nun will ich mit einem ButtonClick aus 3 Edit-Feldern (editName, editVorname, editOrt) in die Datenbank schreiben. Es kommt aber leider die Fehlermeldung:

Query1: Eine Datenmenge, die nur zum Lesen ist, kann nicht geändert werden!

der zugehörige Quellcode sieht so aus:
Delphi-Quellcode:
query1.Open;
    query1.Append;
    query1.FieldByName('name').asstring := editname.Text;
    query1.FieldByName('vorname').asstring := editvorname.Text;
    query1.FieldByName('ort').asstring := editort.Text;
    query1.post;
ist dies so überhaupt möglich oder muss ich hier mit SQL Anweisungen arbeiten? Da hab ich noch nicht so die Ahnung von!
Die Query-Eigenschaften sehn so aus:

Code:
object Query1: TQuery
    DatabaseName = '.\'
    DataSource = DataSource1
    RequestLive = True
    SQL.Strings = (
      'SELECT Vorname, Ort, Name'
      'FROM addyDB'
      'ORDER BY Name, Vorname, Ort')
muss ich da etwa was ändern?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Problem beim schreiben in DB

  Alt 10. Okt 2006, 10:33
-Erzeuge ein UpdateObject (TUpdateSQL)
-Füge die entsprechenden Abfragen ein ( z.B. über Editor)
Markus Kinzler
  Mit Zitat antworten Zitat
Maja Jessica

Registriert seit: 16. Apr 2005
Ort: Dortmund
95 Beiträge
 
Delphi 4 Standard
 
#3

Re: Problem beim schreiben in DB

  Alt 10. Okt 2006, 10:49
Hi,

mit Requestlive kam ich nie so recht klar. Hatte es dann mit einer Table gemacht.
Zitat:
Table.Active := true;
Table.Append;
Table.FieldByName('name').asstring := editname.Text;
Table.FieldByName('vorname').asstring := editvorname.Text;
Table.FieldByName('ort').asstring := editort.Text;
Table.post;
Table.Active := false;
Schätze mal, das du mit Query.Open eine Abfragemenge bekommst, in die du dann nicht schreiben kannst.

Ansonsten ist die Sache mit SQL-Strings garnicht mal soo schwer.

Pseudocode:
Zitat:
Query.SQL.Clear;
Query.SQL.Add('Insert into Tabelle (Name,Vorname,Ort) Values ("Sprudel","Klara","Bonn")');
Query.ExecSQL;
  Mit Zitat antworten Zitat
Pepsen

Registriert seit: 4. Sep 2006
Ort: Bremen
13 Beiträge
 
#4

Re: Problem beim schreiben in DB

  Alt 10. Okt 2006, 10:59
danke für eure Antworten! Hab es jetzt ein wenig anders gelöst! Da war jmd schneller!
und zwar hab ich das "ORDER BY Name, Vorname, Ort" rausgenommen, weil es mir das "RequestLive = True" kaputt gemacht hat!
nun ist zwar die sortierung dahin aber das werd ich dann halt anders lösen!

Zitat von Maja Jessica:
Hi,

mit Requestlive kam ich nie so recht klar. Hatte es dann mit einer Table gemacht.
Zitat:
Table.Active := true;
Table.Append;
Table.FieldByName('name').asstring := editname.Text;
Table.FieldByName('vorname').asstring := editvorname.Text;
Table.FieldByName('ort').asstring := editort.Text;
Table.post;
Table.Active := false;
jo, mit TTable wäre das kein Prob gewesen! Hab nur halt leider die Auflage es mit nem Query machen zu müssen!

Zitat von Maja Jessica:
Schätze mal, das du mit Query.Open eine Abfragemenge bekommst, in die du dann nicht schreiben kannst.

Ansonsten ist die Sache mit SQL-Strings garnicht mal soo schwer.

Pseudocode:
Zitat:
Query.SQL.Clear;
Query.SQL.Add('Insert into Tabelle (Name,Vorname,Ort) Values ("Sprudel","Klara","Bonn")');
Query.ExecSQL;
das werd ich doch galtt mal ausprobieren! Kann ich denn bei VALUES auch einfach anstatt feste Werte editname.text eingeben?
  Mit Zitat antworten Zitat
Maja Jessica

Registriert seit: 16. Apr 2005
Ort: Dortmund
95 Beiträge
 
Delphi 4 Standard
 
#5

Re: Problem beim schreiben in DB

  Alt 10. Okt 2006, 14:25
Hi,

klar mit
Delphi-Quellcode:
Query.SQL.Clear;
Query.SQL.Add('Insert into Tabelle (Name,Vorname,Ort) Values ('+QuotedStr(EditName.Text)+',"Klara","Bonn")');
Query.ExecSQL;
MJ
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:47 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