PureBoard
https://www.purebasic.fr/german/

PB.Ex MSSQL (Windows)
https://www.purebasic.fr/german/viewtopic.php?f=11&t=30691
Seite 1 von 2

Autor:  RSBasic [ 09.03.2018 23:29 ]
Betreff des Beitrags:  PB.Ex MSSQL (Windows)

Hallo,

mit dieser Bibliothek ist es möglich, ohne ODBC auf MSSQL-Datenbanken zuzugreifen und SQL-Abfragen (z.B. Select, Insert Into, Update, Drop Table, ...) auszuführen.

Funktionen:
  • ExecuteSQLQuery()
    • Syntax:
      Code:
      Result = ExecuteSQLQuery(ConnectionString$, SQL$, Timeout, @Output, @ErrorOutput)

    • Beschreibung: Führt eine SQL-Abfrage aus.
    • Parameter:
      1. ConnectionString$: Verbindungsdaten für den Server und für die Datenbank.
      2. SQL$: SQL-Code zum Ausführen einer Abfrage.
      3. Timeout: Zeit in Sekunden, wie lange maximal auf den Vorgang gewartet werden soll. Wenn 0 angegeben wurde, dann wird so lange gewartet, bis der Vorgang fertig ist.
      4. @Output: Das Ergebnis der Abfrage wird im XML-Format in die String-Variable gespeichert.
      5. @ErrorOutput: Falls ein Fehler auftritt, wird die Fehlermeldung in die String-Variable gespeichert.
    • Rückgabewert:
      • 0: Der Vorgang war erfolgreich.
    • Beispielcode:
      Code:
      EnableExplicit

      Global PBEx_MSSQL

      CompilerIf #PB_Compiler_Processor = #PB_Processor_x86
        PBEx_MSSQL = OpenLibrary(#PB_Any, "PB.Ex_MSSQL_x86.dll")
      CompilerElseIf #PB_Compiler_Processor = #PB_Processor_x64
        PBEx_MSSQL = OpenLibrary(#PB_Any, "PB.Ex_MSSQL_x64.dll")
      CompilerEndIf

      If PBEx_MSSQL
        Prototype ExecuteSQLQuery(ConnectionString.p-Unicode, SQL.p-Unicode, Timeout, Output, ErrorOutput)
        Global ExecuteSQLQuery.ExecuteSQLQuery = GetFunction(PBEx_MSSQL, "ExecuteSQLQuery")
       
        Define Output$ = Space(1000000)
        Define ErrorOutput$ = Space(1024)
       
        If ExecuteSQLQuery("Server=YourServer;Database=YourDatabase;User Id=YourUsername;Password=YourPassword;", "SELECT * FROM MyTable", 0, @Output$, @ErrorOutput$) = 0
          ParseXML(1, Output$)
          FormatXML(1, #PB_XML_WindowsNewline | #PB_XML_ReFormat | #PB_XML_ReIndent)
          Debug ComposeXML(1)
        Else
          Debug "Error: " + ErrorOutput$
        EndIf
       
        CloseLibrary(PBEx_MSSQL)
      EndIf


Systemvoraussetzungen:
  • Windows XP oder höher
  • .NET Framework 3.5 oder höher
  • Unicode-Aktivierung (standardmäßig ab PB 5.50)
Da das benötigte .NET Framework ab Windows 7 standardmäßig vorinstalliert ist und auf XP und Vista installiert werden kann, sollte das kein Problem sein, diese Version zu verwenden.
Es ist keine Assembly-Registrierung mit regasm.exe mit Administratorrechten notwendig wie bei COMatePLUS.

Lizenz: Diese DLL-Datei ist kostenlos und darf sowohl privat als auch kommerziell verwendet werden.
Folgende Copyright-Texte müssen mitgeliefert werden:
Zitat:
Copyright © 2019 RSBasic.de


Download: http://www.rsbasic.de/downloads/downloa ... _MSSQL.zip
Bild

Ich würde mich über Feedbacks, Verbesserungsvorschläge, Fehlermeldungen oder Wünsche sehr freuen. Wer mich unterstützen möchte, kann mir auch was kleines spenden. Danke :)

Autor:  Darky [ 10.03.2018 16:29 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

Ist die DLL Etwa in .net ??? Wundert mich schon die ganze Zeit das man diese in PB verwenden kann :-| hat da jemand nähere infos für mich ?


( Sorry für den Offtopic :-D )

Autor:  RSBasic [ 10.03.2018 17:29 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

Meine DLL habe ich in C# mit .NET geschrieben, ja.

Autor:  Rings [ 11.03.2018 09:48 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

RSBasic hat geschrieben:
Meine DLL habe ich in C# mit .NET geschrieben, ja.

jetzt wirds interessant.
Normalweise kann man mit c# ja keine 'standard DLLs' erstellen die man direkt
aus PB heraus aufrufen könnte.

Was hast du anders gemacht das die .NET assemblies aufgerufen werden können ?

Kennst du das hier:
http://www.purebasic.fr/english/viewtop ... 13&t=70308

oder hast du das womöglich weitergeführt mit Erfolg ?

Ich bin immerhin seit über 16 Jahren in der .NET Welt zuhause.........

Autor:  Darky [ 12.03.2018 00:30 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

Interessiert mich auch mega.... das würde alle meine Projekte die ich für Kunden betreibe zurück zu Purebasic bringen :-) Da ich die Kernkomponenten in c# Schreiben könnte.

Gibt es Tutorials oder Beispiele wie man in c#DLLs für Purebasic realisiert :bounce: :bounce: :bounce: :bounce: ?

Autor:  RSBasic [ 12.03.2018 10:08 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

Ich habe hier im Forum immer öfters gelesen, dass es angeblich nicht möglich sei, bis ich mal selber ausprobiert habe. Zuerst wollte ich einen Dreipunkt erzeugen (PB -> C++-DLL -> C#-DLL), aber dann stellte ich fest, dass es gar nicht notwendig ist. Man kann auch direkt in C# eine .NET-DLL erstellen, die man in PB nutzen kann.
Das Zauberwort lautet DLLExport. (Managed Code > Unmanaged Code)
Das wars schon. Warum ist noch niemand darauf gekommen?

Mit .NET hat man deutlich mehr Möglichkeiten und mein Ziel meiner PB.Ex-Bibliotheken ist es, Funktionen, die man wahrscheinlich in PB nie haben wird, bereitzustellen, damit man diese auch in PB nutzen kann. PB kann leider so viele Sachen nicht, die eigentlich im Jahr 2018 Standard sein sollte, wie z.B. SFTP, WMI o.ä.
Dann kann niemand (Nicht-PB-User) mehr sagen, dass PB nicht mit der Funktionalität einer anderen Sprache mithalten kann. :D

Meine DLLs werden zwar gedownloadet (Interesse besteht), aber ob es funktioniert oder ob es dem User gefällt, bekomme ich allerdings nicht. :D Ich würde mich über Feedbacks sehr freuen. Auch gern über Wünsche über zukünftige Funktionen.

Autor:  Rings [ 12.03.2018 12:27 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

Danke für deine Informationen.

Autor:  Kiffi [ 12.03.2018 16:51 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

Hi Ray,

erstmal vielen Dank für Deine DLL! :allright:

Bin heute erst dazu gekommen, zu testen.

Das Ergebnis ist allerdings falsch geschachtelt. Ich bekomme z.B. sowas hier:

Code:
<?xml version="1.0" encoding="UTF-16"?>

<Records>
  <Record>
    [Daten]
    <Record>
      <Record>
        [Daten]
        <Record>
          <Record>
            [Daten]
            <Record/>
          </Record>
        </Record>
      </Record>
    </Record>
  </Record>
</Records>


Grüße ... Peter

Autor:  Mijikai [ 12.03.2018 18:15 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

RSBasic hat geschrieben:
...Ich würde mich über Feedbacks sehr freuen. Auch gern über Wünsche über zukünftige Funktionen.


Wäre es möglich eine *.lib beizulegen um das einbinden zu verbessern/vereinfachen?
(Ich meine keine statischen *.lib 's !!!)

Code:
Import "PB.Ex_MSSQL_x64.lib"
  ExecuteSQLQuery(ConnectionString.s, SQL.s,Timeout.i,*Output,*ErrorOutput)
EndImport

Import "PB.Ex_Speech_x64.dll"
  TextToSpeaker(Text.s,Voice.s,Speed.i,Volume.i,Asynchronous.i,*ErrorOutput)
  TextToAudioFile(Text.s,Voice.s,Speed.i,Volume.i,SaveFilePath.s,*ErrorOutput)
  SpeechRecognition(WordArray.i,WordArraySize.i,*ErrorOutput)
  WaitSpeechRecognition(*RecognizedWord)
EndImport


Ist so schöner und komfortabler :)

Testen konnte ich leider keine der Bibliotheken (hab dafür keine Anwendung).
Sehr freundlich von dir die Bibliotheken bereitzustellen - danke :allright:

Autor:  Bisonte [ 12.03.2018 18:50 ]
Betreff des Beitrags:  Re: PB.Ex MSSQL (Windows)

Mijikai hat geschrieben:
RSBasic hat geschrieben:
...Ich würde mich über Feedbacks sehr freuen. Auch gern über Wünsche über zukünftige Funktionen.


Wäre es möglich eine *.lib beizulegen um das einbinden zu verbessern/vereinfachen?
(Ich meine keine statischen *.lib 's !!!)

Code:
Import "PB.Ex_MSSQL_x64.lib"
  ExecuteSQLQuery(ConnectionString.s, SQL.s,Timeout.i,*Output,*ErrorOutput)
EndImport

Import "PB.Ex_Speech_x64.dll"
  TextToSpeaker(Text.s,Voice.s,Speed.i,Volume.i,Asynchronous.i,*ErrorOutput)
  TextToAudioFile(Text.s,Voice.s,Speed.i,Volume.i,SaveFilePath.s,*ErrorOutput)
  SpeechRecognition(WordArray.i,WordArraySize.i,*ErrorOutput)
  WaitSpeechRecognition(*RecognizedWord)
EndImport


Ist so schöner und komfortabler :)

Testen konnte ich leider keine der Bibliotheken (hab dafür keine Anwendung).
Sehr freundlich von dir die Bibliotheken bereitzustellen - danke :allright:


Ja, die .lib Dateien zum importieren würde ich auch begrüssen.

Seite 1 von 2 Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/