AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

dbnavigator, dbgrid

Ein Thema von vanilla · begonnen am 3. Apr 2007 · letzter Beitrag vom 4. Apr 2007
Antwort Antwort
vanilla

Registriert seit: 23. Mär 2007
44 Beiträge
 
Delphi 7 Professional
 
#1

dbnavigator, dbgrid

  Alt 3. Apr 2007, 10:33
Datenbank: access • Version: 2000 • Zugriff über: ado
hallo leute,

ich möchte Veränderungen an Datensätzen, die ich in einem dbgrid angezeigt bekomme, vornehmen und diese dann auch speichern können. dafür will ich den dbnavigator verwenden, wenn ich nun ein wert im dbgrid verändere und im dbnavigator auf speichen klick, erhalte ich folgende fehlermeldung:

'key column information isinsufficient or incorrect, too many rows were affected update'

kann mir bitte einer weiterhelfen, ich check das problem nicht??
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: dbnavigator, dbgrid

  Alt 3. Apr 2007, 11:17
Da fallen mir spontan zwei Gründe für die Fehlermeldung ein:
  • du verwendest eine Query, die mehrere Tabellen vereinigt: da kann das DataSet nicht entscheiden, wie das Update auszusehen hat.
  • du verwendest nicht das aktuellste Service-Pack für deine Delphi-Version, bei Delphi 5 nicht das aktuellste Service-Pack für das zusätzlich zu erwerbende Ado-Express.

Da du weder näheres zu deiner Delphi-Version noch das SQL-Statement deines DataSets preisgibst, kann dir keiner eine konkrete Hilfe anbieten.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
vanilla

Registriert seit: 23. Mär 2007
44 Beiträge
 
Delphi 7 Professional
 
#3

Re: dbnavigator, dbgrid

  Alt 3. Apr 2007, 12:25
hi mikhal,
ich verwende delphi 7, und hier ist mein code

Delphi-Quellcode:
procedure TForm1.getDBRowValue(TableName: String; Row1: integer; Row2: integer; Row3: integer);

begin

  try

  //Verbindung zwischen ADO-Datenmengenkomponente,Datenquellenkomponente und datensensitivem Steuerelement
  DBGrid1.DataSource := DataSource1;
  DBNavigator1.DataSource := DataSource1;
  ADOTable1.Active := true;
  DataSource1.DataSet := ADOQuery1;
  ADOQuery1.SQL.Text := 'SELECT GammaWind, GammaEis, GammaEigen, GammaGeb, GammaSeil, Psi0, Psi1, Psi2 FROM '+TableName+' WHERE (((Norm)='+inttostr(Row1)+' ) and ((Kombinationsbeiwerte)='+inttostr(Row2)+' ) and ((NAD)='+inttostr(Row3)+' ) )' ;
  ADOQuery1.Connection := self.ADOConnection1;
  ADOQuery1.Open;

  except
    showmessage('Fehler: ADOQuery1 getDBRowValue()');
    exit;
  end;



end;
  Mit Zitat antworten Zitat
Benutzerbild von mikhal
mikhal

Registriert seit: 11. Sep 2003
Ort: Linz am Rhein
796 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: dbnavigator, dbgrid

  Alt 3. Apr 2007, 16:01
  • Was macht die Zeile ADOTable1.Active := true; in deiner Procedure?
  • Welches Feld in deinem Select-Statement gibt den Primary Key wieder? Ohne ein Feld für die eindeutige Zuweisung kann im Update-Statement nicht zweifelsfrei entschieden werden, welcher Datensatz bearbeitet wird. Dein Select-Statement kann durchaus mehrere Datensätze als Ergebnis haben, welchen Datensatz soll das DataSet jetzt bearbeiten? Die Fehlermeldung gibt dir ja Auskunft darüber, dass kein Schlüsselfeld bekannt ist, und deshalb die Eindeutigkeit nicht gewährleistet ist.

Grüße
Mikhal
Michael Kraemer
Computer erleichtern die Arbeit...
...und die Erde ist eine Scheibe!
  Mit Zitat antworten Zitat
vanilla

Registriert seit: 23. Mär 2007
44 Beiträge
 
Delphi 7 Professional
 
#5

Re: dbnavigator, dbgrid

  Alt 4. Apr 2007, 10:22
okay vielen dank es klappt jetzt
  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 11:09 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