Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

FETCH nutzen um Wert(e) einer Zeile in einer Variablen zu speichern.

Frage Microsoft Microsoft Office

Mitglied: PCFJKG

PCFJKG (Level 1) - Jetzt verbinden

05.08.2008, aktualisiert 06.08.2008, 4695 Aufrufe, 2 Kommentare

Im Access-Projekt wird mit einer gespeicherten Prozedur mit FETCH einer Variablen ein Wert zugewiesen, aber die Variable bleibt leer (<null>).

Sie Sicht VIEW5 befindet sich auf einem MS-SQL 2000 Server und enthält zu Testzwecken nur eine Spalte <VersStat> mit 3 Zeilen:

VersStat
11
33
51

In einem MS-Access Projekt (*.adp) wird eine gespeicherte Prozedur aufgerufen. Das Auslesen von Zeilen dieser VIEW5 gelingt nicht:

Es sollen nacheinander alle Zeilen (oder ohne Schleife zunächst zum Test nur eine Zeile) gelesen und das Leseergebnis in einer Variablen gespeichert werden.

DECLARE @VersStat char(2)
DECLARE TestCursor CURSOR FOR SELECT VersStat FROM VIEW5
DECLARE @ZahlKtr decimal(7,2)

OPEN TestCursor
FETCH FROM TestCursor INTO @VersStat
/* Zur Prüfung des Leseergebnisses wird @VersStat in eine bestehende Tabelle T_VersStat in die Spalte VS eingetragen */
EXEC('UPDATE T_VersStat SET VS = ' + @VersStat + '')
/* Später soll @VersStat in einer WHERE-Klausel verwendet werden */
SET @ZahlKtr = (SELECT SUM(GPVersStat) FROM T_VersStat WHERE VersStat = @VersStat)
EXEC('UPDATE T_VersStat SET ZahlKtr = ' + @ZahlKtr + '')
*/
CLOSE TestCursor

In der Tabelle T_VersStat sind die Werte der Spalte VersStat <null>. Es liegt auch kein anderweitiger Fehler vor, der z.B. die Prozedur vorzeitig unkontrolliert abbricht; denn wenn die UPDATE-Anweisung statt @VersStat zum Test z.B. die Zahl 11 verwendet, wird diese 11 ordnungsgemäß eingetragen.

Kann mir jemand helfen ?

PCFJKG
Mitglied: Biber
06.08.2008 um 09:31 Uhr
Moin PCFJKG,

könnte daran liegen, dass die Urheberrechte auf die Syntax
FETCH FROM TestCursor INTO @VersStat
... bei Dir liegen und M$ sich deshalb nicht traut, diese Erfindung in Access zu implementieren.

Ändert sich das Verhalten, wenn ihr euch auf die gemeinsame Syntax
FETCH TestCursor INTO @VersStat
.. einigt?

Grüße
Biber
Bitte warten ..
Mitglied: PCFJKG
06.08.2008 um 10:13 Uhr
Hallo Biber,

die Syntax war nur in meiner ins Internet gestellten Frage falsch, im Programm ist richtigerweise FETCH FROM verwendet (Also: selbst ausgetrixt) worden. Ich habe aber heute morgen nach nochmaligem Nachlesen der Beispiele und Kommentare in der SQL-Server Onlinedokumentation vermutlich das Problem selbst lösen können. Es liegt nicht am Progrogrammcode in der vermuteten Weise (Syntax, falsche Deklarationen/Datentypen etc.) sondern am Fehlen der Anweisung <DEALLOCATE TestCursor>.

Zitat Online-Hilfe: Nachdem dem Cursor ein Cursorname zugeordnet wurde, kann der Name so lange nicht für einen anderen Cursor des gleichen Bereiches (GLOBAL oder LOCAL) verwendet werden, bis die Reservierung des Cursors aufgehoben wurde.

Vermutlich habe ich zwar irgendwann beim üblichen trial and error den richtigen Code aufgerufen, aber DECLARE verwies immer noch auf eine "alte" (vermutlich fehlerhafte) SELECT-Anweisung. Nach 2 verschiedenen Versuchen heute morgen konnte zumindest einmal das gewünschte Ergebnis erzielt werden.

Also: Sorry, man sollte sich eben seine Fragen genauer ansehen bzw. überlegen, vor allem bevor man an die Öffentlichkeit geht.

Entschuldigung, vielen Dank für die Antwort und herzliche Grüße


PCFJKG
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Batch & Shell
Wert in Registry suchen und in Variable speichern (2)

Frage von J.Troll zum Thema Batch & Shell ...

VB for Applications
gelöst VBA-Makro verschwindet nach Speichern (5)

Frage von lupi1989 zum Thema VB for Applications ...

Windows 10
Citrix Receiver - Benutzernamen speichern (2)

Frage von hendrik.vondankbahr zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...