INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

SQlite Update syntax



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

06.09.2020, 12:01 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2020 12:02 von Hubert R..)
Beitrag #1

Hubert R. Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 193
Registriert seit: Jul 2011

2019 64bit
2011
DE


Deutschland
SQlite Update syntax
Hallo zusammen,

vielleicht kann mir wer weiterhelfen. Ich möchte einen Datensatz in SQlite mit UPDATE überschreiben.
Dieses klappt aber nicht und ich erhalte immer eine Fehlermeldung mit dem Verweis „near VALUES“.
Wenn ich den UPDATE String über ein Admintool reinschreibe sieht er so aus und funktioniert.

UPDATE abstract SET recipe=123,mould="hurra",run_status=0,stack_counter_actual=1234,run_time=0,stop_time=0,stack_counter_tar​get=102,release_2=0,release_3=0,release_4=0,release_5=0,release_6=0,average_cycl​e_time=1000 WHERE link_ID=1;

Bedingt durch die SQlite syntax in Labview muss ich die Parameter „VALUES“ etwas anders übergeben, das sollte dann eigentlich so aussehen:

UPDATE abstract SET
(link_ID=,recipe=,mould=,run_status=,stack_counter_actual=,run_time=,stop_time=,​stack_counter_target=,release_2=,release_3=,release_4=,release_5=,release_6=,ave​rage_cycle_time=) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?) WHERE link_ID=1;

Aber so klappt das nicht und ich erhalte die Fehlermeldung „Error near VALUES“ kann mir jemand von euch einen Tipp geben was ich falsch mache.

Anmerkung: Im False Fall wird der INSERT ausgeführt und funktioniert.

Gruß Hubert

Hier noch das Vi, sorry


Angehängte Datei(en)
19.0 .vi  schreibe_abstract_DB.vi (Größe: 51,64 KB / Downloads: 266)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.09.2020, 14:26 (Dieser Beitrag wurde zuletzt bearbeitet: 06.09.2020 14:29 von Martin.Henz.)
Beitrag #2

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 426
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: SQlite Update syntax
Hallo Hubert,

das Toolkit von NI ist ein bisschen "beschränkt" - es kennt nicht alle Datentypen bzw. setzt diese dann nicht korrekt um und du bekommst solche Fehlermeldungen. Es gibt aber auch eine ganze Menge anderee Einschränkungen. So wie es programmiert ist, gibt es je nach verwendeter Datenbank fast immer irgendwann ein Problem. Das NI Toolkit ist einganz guter Ansatzpunkt, aber es ist nur in den wenigsten Fällen wirklich gut geeignet (Ähm - eigentlich in gar keinem Fall).

Alternativen:
1. Ein Toolkit deiner Wahl für SQLite verwenden
2. Den SQL-String so wie er ist einfach ausführen (DB Tools Exdecute Query.vi).
3. Ein eigenes Toolkit entwickeln

Nachtrag: Eventuell musst du beim SQL String das
mould="hurra"
durch
mould='hurra'
ersetzen. Ich könnte mir zumindest vorstellen, dass das ein problem darstellt - bin da aber nicht sicher, weil ich das so noch nie probiert habe.

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.09.2020, 10:37
Beitrag #3

Hubert R. Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 193
Registriert seit: Jul 2011

2019 64bit
2011
DE


Deutschland
RE: SQlite Update syntax
So nach einigem rumprobieren habe ich die Syntax herausgefunden.

UPDATE abstract SET link_ID = ?, recipe = ? WHERE ID = 1;

So stimmt die Syntax.

Schade das es zu SQlite kaum Beispiele für LV gibt.

Gruß Hubert
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.09.2020, 12:00
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: SQlite Update syntax
(09.09.2020 10:37 )Hubert R. schrieb:  Schade das es zu SQlite kaum Beispiele für LV gibt.
Das liegt aber an der von dir verwendeten SQlite-API.

Wir haben firmenintern ein Toolkit, welches direkt die SQlite-DLL aufruft, da werden einfach die Kommandos in SQL-Syntax als String übergeben.

Da würde dein SQL-Kommando

UPDATE abstract SET recipe=123,mould="hurra",run_status=0,stack_counter_actual=1234,run_time=0,stop_time=0,stack_counter_tar​​get=102,release_2=0,release_3=0,release_4=0,release_5=0,release_6=0,average_cyc​l​e_time=1000 WHERE link_ID=1;

direkt funktionieren.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.09.2020, 13:46
Beitrag #5

Martin.Henz Offline
LVF-Team
LVF-Team

Beiträge: 426
Registriert seit: Jan 2005

2.5.1 bis 20
1992
kA

74363
Deutschland
RE: SQlite Update syntax
(09.09.2020 12:00 )jg schrieb:  
(09.09.2020 10:37 )Hubert R. schrieb:  Schade das es zu SQlite kaum Beispiele für LV gibt.
Das liegt aber an der von dir verwendeten SQlite-API.

Wir haben firmenintern ein Toolkit, welches direkt die SQlite-DLL aufruft, da werden einfach die Kommandos in SQL-Syntax als String übergeben.

Da würde dein SQL-Kommando

UPDATE abstract SET recipe=123,mould="hurra",run_status=0,stack_counter_actual=1234,run_time=0,stop_time=0,stack_counter_tar​​get=102,release_2=0,release_3=0,release_4=0,release_5=0,release_6=0,average_cyc​l​e_time=1000 WHERE link_ID=1;

direkt funktionieren.

Gruß, Jens

Ich sehe gerade, dass Hubert das Toolkit von James Powell verwendet. Da geht das auch mit diesem SQL Kommando. Allenfalls das "hurra" (Anführungszeichen anstatt Apostroph) könnte Schwierigkeiten bereiten. Bei SQLite ist es oft noch zugelassen (je nachdem mit welchen Optionen die DLL erstellt wurde).

Martin Henz
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Sqlite Datenbank galilio 12 12.703 02.02.2016 18:23
Letzter Beitrag: galilio
  SQLite DB in RAM wowbagger 3 5.338 29.11.2011 09:59
Letzter Beitrag: Dennis.Moser
  SQLite - Blob - Jpg - lesen - Darstellen... tt-web 15 18.313 10.01.2011 16:40
Letzter Beitrag: tt-web
  SQLite undLabVIEW Karotte 2 8.335 18.10.2009 12:58
Letzter Beitrag: jg
  Reportprobleme nach Update auf LV-V8.0 gst 4 4.730 01.10.2007 19:14
Letzter Beitrag: jg
  MIN-Abfrage bei SQL-Zeilen-Update s200rs 2 5.998 05.02.2007 10:39
Letzter Beitrag: s200rs

Gehe zu: