AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Programm friert ein beim Ändern von DBGrid Einträgen
Thema durchsuchen
Ansicht
Themen-Optionen

Programm friert ein beim Ändern von DBGrid Einträgen

Ein Thema von Bambuti2000 · begonnen am 3. Feb 2012 · letzter Beitrag vom 29. Aug 2012
Antwort Antwort
Benutzerbild von Bambuti2000
Bambuti2000

Registriert seit: 11. Okt 2007
Ort: Troisdorf
44 Beiträge
 
Delphi XE2 Architect
 
#1

Programm friert ein beim Ändern von DBGrid Einträgen

  Alt 3. Feb 2012, 11:09
Datenbank: DB2 • Version: 9.7 • Zugriff über: ADO / ODBC
Hallo Leut's,

ich kämpfe inzwischen schon seit zwei Tagen an einem Problem.
Ich hab ein einfaches Formular mit einem DBGrid. Dazu kommen zwei ADOQuery und eine DataSource.
Mit der ersten Query rufe ich alle Tabellen-Name in einer DB2-DB zur manuellen Auswahl ab.
Mit der zwieten Query Rufe ich dann bei Auswahl die jeweiligen Daten ab und zeige diese in der DBGrid an. Soweit, so gut.
Bearbeite ich allerdings nun einen der angezeigten Datensätze direkt im DBGrid, firert beim (autom.) posten, also Zeilenwechsel die Aplikation ein.
Ich habe schon diverse Versuche gestartet und das halbe Internet durchforstet aber leider keine Lösung gefunden.
Wenn ich mir zusätzlich Infos bei den Ereignissen der Query ausgebe, ist das letzte was passiert "OnWillChangeRecord", dann ist's aus...
Die Datenbank rufe ich mit einer einfachen "SELECT-Anweisung" ohne WHERE-Klausel ab.

Vielen Dank für eure Hilfe...

Gruß
Stefan
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Bambuti2000
Bambuti2000

Registriert seit: 11. Okt 2007
Ort: Troisdorf
44 Beiträge
 
Delphi XE2 Architect
 
#2

AW: Programm friert ein beim Ändern von DBGrid Einträgen

  Alt 5. Feb 2012, 13:54
OK, bevor ich mit Antworten überschüttet werde,

hier noch ein paar neue Info's resultierend aus wieteren Tests...

Gleiches Konstrukt, allerdings diesmal verbunden mit einer MSSQL.
Alles funktioniert so wie es sein soll (update Datensatz, neuer Datensatz, löschen).

Also, gibt es wohl Probleme bei ADO => DB2.
An der DB kanns übrigens nicht liegen, hab mal testweise mit 'ner Access-MDB drauf zugegriffen, funktioniert auch alles.

Deshalb, wer eine Ahnung haben könnte warum ich mit der DB2 Probleme habe, melde dich bitte ...

Gruß
Stefan
Stefan
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: Programm friert ein beim Ändern von DBGrid Einträgen

  Alt 5. Feb 2012, 17:15
Was nimmst Du denn nun zum Zugriff?
ADO(OLEDB)
oder
ODBC
oder
ADO(OLEDB)>ODBC

?
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Bambuti2000
Bambuti2000

Registriert seit: 11. Okt 2007
Ort: Troisdorf
44 Beiträge
 
Delphi XE2 Architect
 
#4

AW: Programm friert ein beim Ändern von DBGrid Einträgen

  Alt 28. Aug 2012, 16:26
Sorry dass ich so lange nichts von mir hören lassen habe.
Hatte in letzter Zeit 'ne ganze Menge Arbeit mit 'nem riesigen Projekt bei uns.

Die Datenbank "connecte" ich via ODBC. Ich hab das Problem auch inzwischen einschränken/weiter analysieren können.
Es liegt wohl daran dass die DB2 Tabellen keinen Primärschlüssel haben.
Da sind wir aber ja direkt wieder am Thema, wie kann ich über DBGrid nun in dieser Tabelle INSERTS/UPDATES/DELETES nutzen? So ganz ohne Primärschlüssel?
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#5

AW: Programm friert ein beim Ändern von DBGrid Einträgen

  Alt 28. Aug 2012, 16:30
Es kommt auf die DB-Zugriffskomponenten drauf an.
Bei Einigen kann man selber passende Update/Insert/Delete-Statements angeben, welche etwas Anderes zur Identifizierung nutzen. (wenn nicht, dann wird intern über den Primärschlüssel automatisch etwas generiert)

z.B. PgDAC kann's, also vermutlich auch UniDAC, AnyDAC und Co.


Oder du erstellst einen Primärschlüssel?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (28. Aug 2012 um 16:34 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bambuti2000
Bambuti2000

Registriert seit: 11. Okt 2007
Ort: Troisdorf
44 Beiträge
 
Delphi XE2 Architect
 
#6

AW: Programm friert ein beim Ändern von DBGrid Einträgen

  Alt 29. Aug 2012, 12:46
OK,
Primärschlüssel erstellen kann ich total vergessen. Die Datenbanke (einige 100) werden von den DBA's administriert. DB2 verlngt grundsätzlich keinen und kann so wohl auch sehr gut und vorallem schnell arbeiten.
Ich persönlich arbeite mit einigen MS- und MySQL DBs und habe es gelernt, immer einen Primärschlüssel anzulegen. Somit habe ich bisher auch keine Probleme gehabt. Wenn das dann mit ADO so nicht klappt, dann werde ich wohl mal eine andere Komponente probieren.
Danke für die Hilfe.
Stefan
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Programm friert ein beim Ändern von DBGrid Einträgen

  Alt 29. Aug 2012, 12:52
Zitat:
Primärschlüssel erstellen kann ich total vergessen. Die Datenbanke (einige 100) werden von den DBA's administriert
.
Was sind das für DBA's? Ohne Wissen über relationale Datenbanken.
Zitat:
DB2 verlngt grundsätzlich keinen und kann so wohl auch sehr gut und vorallem schnell arbeiten.
Verlangt werden diese von keinem DBMS. Wer aber ein klein wenig von Datenbanken versteht, verwendet diese.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Programm friert ein beim Ändern von DBGrid Einträgen

  Alt 29. Aug 2012, 12:56
Zitat:
Primärschlüssel erstellen kann ich total vergessen. Die Datenbanke (einige 100) werden von den DBA's administriert
.
Was sind das für DBA's? Ohne Wissen über relationale Datenbanken.
Vermutlich handelt es sich um eine DB2 auf einer AS/400 und da ticken die Uhren noch etwas anders, bzw. es gibt dort neben reinem SQL auch noch andere Zugriffsarten auf die Daten und die werden von diesen Jungs bevorzugt genutzt
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 14:01 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