PB.Ex MSSQL (Windows)

Anwendungen, Tools, Userlibs und anderes nützliches.
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: PB.Ex MSSQL (Windows)

Beitrag von MenschMarkus »

Kommt mir gerade recht, die DLL
Einbinden klappt auch. Query absetzen und Rückantwort erhalten ist auch gut.
Dass die Antwort per XML kommt ist etwas ungewohnt. Das bequeme "While NextDatabaserow()" funktioniert hier leider nicht mehr, aber dem kann man Herr werden.
ABER
Wie sieht es mit ExecuteSQLUpdate() aus? Gibt es das auch ?
Wenn nicht, wäre das was für meine Wunschliste
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: PB.Ex MSSQL (Windows)

Beitrag von Kiffi »

meines Erachtens wird für Select, Insert und Update jeweils ExecuteSQLQuery() verwendet.
Hygge
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB.Ex MSSQL (Windows)

Beitrag von RSBasic »

Ja, es gibt eine einzige Funktion für alle SQL-Befehle. Ich wollte so einfach halten wie möglich. Wenn du nur ein Update-SQL-Statement ausführen möchtest, kannst du ebenfalls ExecuteSQLQuery() benutzen. Den out-Parameter "Output" kannst du ignorieren.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
MenschMarkus
Beiträge: 220
Registriert: 30.04.2009 21:21
Computerausstattung: i5-2300 (2.8 Ghz) Win10 -64bit / PB 5.73 LTS

Re: PB.Ex MSSQL (Windows)

Beitrag von MenschMarkus »

Ok, das habe ich mal getestet. Leider noch ohne Erfolg.
Ich weiß, dass MSSQL, MySQL, SQLite usw. Syntaktische Varianten haben aber an

Code: Alles auswählen

INSERT INTO <tablename> (<columname>) VALUES ('contenttext') 
kann ich auch für die MSSQL DB nichts falsches feststellen.
Der ErrorOutput$ bleibt leer, womit ich mal denke, dass der Query so korrekt verarbeitet werden konnte
Um sicher zu gehen, dass ich auch alle Rechte für die DB habe, habe ich mich als SA angemeldet. Daher möchte ich diesen Fehler einmal ausschließen.
Ideen dazu?

Halt Stopp,

es wurde doch geschrieben. Hab das mal mit dem MSSMS geprüft.
Da muss ich noch mal schauen warum das Ergebnis nicht korrekt ausgegeben wurde.

HA

ein Bug vielleicht!?
Im Text steht ein & Zeichen. Von da an bricht der Output$ ab und liest die restlichen Datensätze nicht mehr ein.
Wissen schadet nur dem, der es nicht hat !
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB.Ex MSSQL (Windows)

Beitrag von RSBasic »

PB.Ex MSSQL 1.0.2.0 wurde veröffentlicht.

Changelog:
  • Aktualisiert: .NET Framework 3.5 > .NET Framework 4.7.2
  • Bugfix: Zeichen (', <, >, &) werden jetzt escaped.
  • Hinzugefügt: GetDatabaseBlobEx()
  • Hinzugefügt: SetDatabaseBlobEx()
  • Geändert: Der Rückgabewert ist jetzt 1, wenn erfolgreich und nicht 0.

MenschMarkus hat geschrieben: 18.02.2022 16:17 Im Text steht ein & Zeichen. Von da an bricht der Output$ ab und liest die restlichen Datensätze nicht mehr ein.
Der XML-Code wird von der Funktion ExecuteSQLQuery() vollständig zurückgegeben und erst beim Konvertieren in XML mit der PB-Funktion ParseXML() wird der Code abgeschnitten.
Es liegt daran, dass folgende Zeichen in XML escaped werden müssen:

Code: Alles auswählen

"   &quot;
'   &apos;
<   &lt;
>   &gt;
&   &amp;
Das machte meine Funktion aber nicht. Das Escapen habe ich nun mit der neuen Version hinzugefügt. Das Auslesen in XML funktioniert nun.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Benutzeravatar
RSBasic
Admin
Beiträge: 8022
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: PB.Ex MSSQL (Windows)

Beitrag von RSBasic »

PB.Ex MSSQL 1.0.3.0 wurde veröffentlicht.

Changelog:
  • Verbessert: ExecuteSQLQuery(): Wenn vom SQL-Server keine Spalte zurückgegeben wird, dann wird "NoColumn" zurückgegeben.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
Antworten