AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Schlüsselspalteninformationen sind ungenügend / inkorrekt
Thema durchsuchen
Ansicht
Themen-Optionen

Schlüsselspalteninformationen sind ungenügend / inkorrekt

Ein Thema von schof · begonnen am 6. Dez 2005 · letzter Beitrag vom 23. Aug 2011
Antwort Antwort
schof

Registriert seit: 27. Sep 2005
Ort: Regensburg
47 Beiträge
 
Delphi 2005 Personal
 
#1

Schlüsselspalteninformationen sind ungenügend / inkorrekt

  Alt 6. Dez 2005, 09:35
Datenbank: Access • Zugriff über: ADO
Hallo
wenn ich mein Programm aufrufe und per Drag und Drop eine Produktgruppe verschiebe bringt er mir diesen Fehler: "Die Schlüsselspalteninformationen sind ungenügend oder inkorrekt. Es sind zu viele Zeilen von der Aktualisierung betroffen" Er führt jedoch den Edit korrekt aus. Alles ist so abgelaufen wie ich es wollte bis auf die Fehlermeldung ich hab schon im inet gesucht aber nichts gefunden.
Für jede Hilfe bin ich Dankbar. hier noch der code
Delphi-Quellcode:
with MastData.ArticleQry do begin
        Close;
        Sql.Clear;
        SQL.Add('SELECT gruppe1,gruppe2,gruppe3 FROM article WHERE gruppe3 = '+gr);
        Open;
        while not EOF do begin
        MastData.ArticleQry.Edit;
        //showmessage(gr);
        showmessage(MastData.ArticleQry.FieldByName('gruppe2').AsString);
        showmessage(MastData.ArticleQry.FieldByName('gruppe3').AsString);
        MastData.ArticleQry.FieldByName('gruppe2').AsString := dropitem;
        //showmessage(dropitem);
        MastData.ArticleQry.Post;
        next;
        end;
        end;
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Schlüsselspalteninformationen sind ungenügend / inkorrek

  Alt 6. Dez 2005, 10:01
Verwende mal statt TADOQuery TADODataset. TADOTable und TADOQuery sind nur für einfacher Portierung von BDE gedacht und haben AFAIK ein paar Macken/Fehler.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
schof

Registriert seit: 27. Sep 2005
Ort: Regensburg
47 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Schlüsselspalteninformationen sind ungenügend / inkorrek

  Alt 6. Dez 2005, 10:06
also kann ich das mit query net verwirklichen ? oder wie kann soll ich das auffassen es ist so dass ich halt schon ziemlich viele querrys habe. und eigentlich schon ziemlich viel verknüpft habe. wenns nicht anders get werd ich mich so drüber machen aber danke schon mak
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Schlüsselspalteninformationen sind ungenügend / inkorrek

  Alt 6. Dez 2005, 10:15
TADODataset ist flexibler. Kann sowohl im "TTable-Modus" als auch "TQuery-Modus" arbeiten.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
schof

Registriert seit: 27. Sep 2005
Ort: Regensburg
47 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Schlüsselspalteninformationen sind ungenügend / inkorrek

  Alt 7. Dez 2005, 09:14
So, nur der Vollständigkeit halber ich hab meinen Fehler gefunden. Ich hab einen neuen querry erstellt und dann mit diesem den datensatz aktualisiert hier der code :
Delphi-Quellcode:
begin
        with MastData.ArticleQry do begin
        Close;
        Sql.Clear;
        SQL.Add('SELECT gruppe1,gruppe2,gruppe3 FROM article WHERE gruppe3 = '+gr);
        Open;
        while not EOF do begin
        Edit;
        FieldByName('gruppe2').AsString := trvgroup.DropTarget.Text;
        MastData.ArticleSelQry.Close;
        MastData.ArticleSelQry.sql.Clear;
        MastData.ArticleSelQry.SQL.Add('SELECT gruppe1 FROM article WHERE gruppe2 = '+QuotedStr(trvgroup.DropTarget.Text));
        MastData.ArticleSelQry.Open;
        MastData.ArticleQry.FieldByName('gruppe1').Value := MastData.ArticleSelQry.FieldByName('gruppe1').Value;
        Post;
        next;
        end;
        end;
       end;
nun seht ihr den unterschied naja es klappt performance mässig hatte ich noch keine zeit zu testen .
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: Schlüsselspalteninformationen sind ungenügend / inkorrek

  Alt 7. Dez 2005, 12:22
Zitat von schof:
... diesen Fehler: "Die Schlüsselspalteninformationen sind ungenügend oder inkorrekt. Es sind zu viele Zeilen von der Aktualisierung betroffen"
Hat deine Tabelle keinen Primärschlüssel ?
Dann ist dies die Ursache für den Fehler.
Hat das Feld "gruppe3" eine Index ? Falls nicht, ist dies die Ursache für schlechte Performance.
Andreas
  Mit Zitat antworten Zitat
DelphiApostel

Registriert seit: 12. Apr 2005
10 Beiträge
 
Delphi 2010 Enterprise
 
#7

Re: Schlüsselspalteninformationen sind ungenügend / inkorrek

  Alt 29. Jan 2008, 15:50
Hallo,

also diesen Fehler hatte ich auch schon mal. Ich habe bei der ADOQuery-Komponente die Eigenschaft "CursorLocation" auf "clUseServer" eingestellt.
Danach funktionierte die Aktualisierung der Datensätze problemlos.

MfG
Delphi Apostel
  Mit Zitat antworten Zitat
JHDGE

Registriert seit: 16. Feb 2006
Ort: Heidelberg
13 Beiträge
 
Delphi 2007 Professional
 
#8

AW: Schlüsselspalteninformationen sind ungenügend / inkorrekt

  Alt 23. Aug 2011, 18:45
Na der Beitrag ist zwar schon älter aber sehr Hilfreich was ich denke

Ich habe lange nach dem Fehler gesucht beim löschen von Vielen Datensätzen kam genau der Fehler
Durch den Tip 1 voran schaute ich nach und genial

Hier die Delphi Hilfe dazu !

Mit CursorLocation können Sie festlegen, ob eine clientseitige oder eine serverseitige Cursor-Bibliothek verwendet wird. Der Wert wirkt sich aber nur auf Verbindungen aus, die nach der Zuweisung geöffnet werden. Der Standardwert ist clUseClient.

Ein Client-Cursor bietet mehr Flexibilität. Die gesamten Daten werden auf den lokalen Rechner abgerufen und hier bearbeitet. Dadurch können Aktionen durchgeführt werden (z. B. spezielle Sortier- und Filteroperationen), die vom Server möglicherweise nicht unterstützt werden. Da die SQL-Anweisungen auf dem Server ausgeführt werden, wird beim Einschränken der Ergebnismenge durch eine WHERE-Klausel nur eine Teilmenge der Daten an den lokalen Cursor übertragen.

Ein serverseitiger Cursor ist nicht so flexibel, kann aber bei sehr großen Ergebnismengen vorteilhaft (oder sogar notwendig) sein. Er muss verwendet werden, wenn die Größe der Ergebnismenge den verfügbaren Festplattenspeicher des Client-Systems überschreitet. Viele Server unterstützen außerdem nur Vorwärts-Cursor, bei denen der Satzzeiger in der Ergebnismenge nicht in Richtung Tabellenanfang bewegt werden kann.
Joachim E.
Manchmal ist Entwicklung von Software ganz schön öde
Frustrierend wenn es nicht geht und genial wenn alles geht wie es soll. Aber der Kunde findet immer noch Fehler
  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 22:30 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