PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

LibreOffice Calc wykonuje funkcję PostgreSQL

W LibreOffice Calc można zrobić coś podobnego, ale zamiast konfigurować połączenie z bazą danych z różnymi menu, wszystko odbywa się za pomocą kodu makr.

Poniższe rozwiązania działały dla mnie przy użyciu tego Procedura składowana MySQL :

Sub RunStoredProc
    Dim oParms(1) as new com.sun.star.beans.PropertyValue 
    oParms(0).Name = "user" 
    oParms(0).Value = "root" 
    oParms(1).Name = "password" 
    oParms(1).Value = "password" 
    oManager = CreateUnoService("com.sun.star.sdbc.DriverManager")
    sURL = "sdbc:mysql:jdbc:localhost:3306/world"
    oConnection = oManager.getConnectionWithInfo(sURL, oParms())
    sFormat = "Europe"
    oStmt = oConnection.prepareCall("CALL country_hos(?)")
    oStmt.setString(1, sFormat)
    oResult = oStmt.executeQuery()
    sResult = ""
    If Not IsNull(oResult) Then
      While oResult.Next()
        sResult = sResult & oResult.getString(1) & CHR(10)
      Wend
    End If
    MsgBox "Result: " & sFormat & " = " & CHR(10) & sResult
    oStmt.close()
End Sub

Kod został zaadaptowany z https://forum.openoffice. org/pl/forum/viewtopic.php?f=21&t=41149 .

Aby zakończyć kod, zmodyfikuj go, aby umieścić wyniki w arkuszu kalkulacyjnym zamiast wyświetlać je w oknie komunikatu. Odczytaj także wybraną wartość z listy rozwijanej zamiast zakodować wartość sFormat .

Uwaga:Niektóre informacje online sugerują użycie pośredniego pliku .odb. To wymagałoby większej liczby menu niż robienia wszystkiego w makrze. Działa to dla tabel i zapytań, ale najwyraźniej nie dla procedur składowanych, chyba że być może z HSQLDB, jak wspomniano tutaj .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd niepoprawna składnia wejściowa dla liczby całkowitej dla liczby niebędącej liczbą całkowitą?

  2. postgresql aktualizuje wiele tabel w jednym zapytaniu

  3. Kolejność sortowania ciągów (LC_COLLATE i LC_CTYPE)

  4. Wybieranie losowych wierszy

  5. Refaktoryzuj klucz obcy do pól