AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

JSON -> Database -> Auswertung ?

Ein Thema von bernhard_LA · begonnen am 1. Mai 2022 · letzter Beitrag vom 8. Mai 2022
Antwort Antwort
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: JSON -> Database -> Auswertung ?

  Alt 1. Mai 2022, 12:41
An so etwas hatte ich auch schon gedacht


      TJSON.SavetoDB(.....) /// nur leider nicht gefunden :-(

wir verwenden MSSQL Server, dieser SQL Code erzeugt bei mir keine permanente Tabelle ( create table statement)
und ich muss im select statement auch wieder alle Feldnamen angeben .
Wir haben ja 100 + Feldnamen und die können sich permanent auch ändern, da will sehr flexibel bleiben

Delphi-Quellcode:
DECLARE @json NVARCHAR(MAX);
SET @json = N'[
{"id": 2, "info": {"name": "John", "surname": "Smith"}, "age": 25},
....
]
';

/// hier muss ich dann alle Feldnamen definieren ??

SELECT *
FROM OPENJSON(@json)
  WITH (
    id INT 'strict $.id',
    firstName NVARCHAR(50) '$.info.name',
    lastName NVARCHAR(50) '$.info.surname',
    age INT,
    dateOfBirth DATETIME2 '$.dob'
  );


und mit diesem code kann ich keine Querys platzieren oder ?

Delphi-Quellcode:
Declare @JSON varchar(max)

SELECT @JSON = BulkColumn
FROM OPENROWSET (BULK 'E:\tempout.txt', SINGLE_CLOB) as j

Select @JSON

If (ISJSON(@JSON)=1)
Print 'Valid JSON'

Geändert von bernhard_LA ( 1. Mai 2022 um 12:56 Uhr)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#2

AW: JSON -> Database -> Auswertung ?

  Alt 1. Mai 2022, 12:57
Statt die Klasse als JSon zu speichern, ihr eine Methode "gönnen", mit der sie von sich selbst eine Insert-Statement für die Datenbank generiert und dieses dann als Textdatei speichern.

Das könnte mit Hilfe von RTTI realisierbar sein. In dem Fall wären zusätzliche Attribute oder ggfls. deren Wegfall transperant für die Exportroutine, so dass sie nur einmalig erstellt werden muss und eine Anpassung dieser Routine bei Änderungen an der Klasse nicht erforderlich werden.

Die Struktur der Datenbanktabelle müsste dann aber halt (bei Änderungen an der Klasse) händisch synchron zur Klasse gehalten werden.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz