wisher
Benutzer
- Beiträge
- 6
Hallo, ich bin Anfänger/Autodidakt und habe mit C#/Dapper ein funktionierendes Frontend für eine SQLite-DB mit einer nicht normalisierten Tabelle erstellt. Um Redundanzen zu vermeiden habe ich die Datenbank normalisiert mit 3 Tabellen:
personen -(1:n)-> op -(1:n)-> us (Untersuchungen)
mit folgenden Indizes;
personen.ID op,IDOP, op.FKPAT us.FKOP, (us.IDUS)
SELECT-Statemant ohne Fehlermeldung (allerdings ist die Tabelle derzeit noch leer)
Nach sehr vielem herumprobieren habe ich irgendwo im Internet gelesen dass SQLite keine Updates/Inserts bei verbundenen Tabellen unterstützt und hatte es dann (als letzten Versuch) mit einem verschachtelten Statement versucht, also quasi eine virtuelle Tabelle die alle Daten aufnehmen kann. Hierfür habe ich den o. g. Code in einen string joinedTable gepackt, so dass mein SQL-Kommando jetzt so aussieht:
bzw.
Leider meckert der SQL-Mapper über einen Fehler im SQL-Statement bei "(". Wo immer das auch sein mag ist mir völlig unklar. Den Update-Befehl habe ich mangels vorhandener Daten noch nicht probiert, schätze aber dass es ähnlich sein wird.
Sollten noch Infos fehlen bin ich für jeden Hinweis dankbar und werde diese gerne nachreichen.
Schon mal jetzt vielen Dank für die Mühe.
personen -(1:n)-> op -(1:n)-> us (Untersuchungen)
mit folgenden Indizes;
personen.ID op,IDOP, op.FKPAT us.FKOP, (us.IDUS)
SELECT-Statemant ohne Fehlermeldung (allerdings ist die Tabelle derzeit noch leer)
Code:
SELECT * FROM personen
LEFT JOIN op ON op.FKPAT=personen.ID
LEFT JOIN us ON us.FKOP=op.IDOP
Nach sehr vielem herumprobieren habe ich irgendwo im Internet gelesen dass SQLite keine Updates/Inserts bei verbundenen Tabellen unterstützt und hatte es dann (als letzten Versuch) mit einem verschachtelten Statement versucht, also quasi eine virtuelle Tabelle die alle Daten aufnehmen kann. Hierfür habe ich den o. g. Code in einen string joinedTable gepackt, so dass mein SQL-Kommando jetzt so aussieht:
Code:
INSERT INTO (joinedTable) (wert1, wert2, wert3, usw.)
VALUES (@wert1, @wert2, @wert3, usw.)
Code:
UPDATE (joinedTable)
SET wert1=@wert1, wert2=@wert2, wert3=@wert3, usw.
WHERE ID=@ID
Leider meckert der SQL-Mapper über einen Fehler im SQL-Statement bei "(". Wo immer das auch sein mag ist mir völlig unklar. Den Update-Befehl habe ich mangels vorhandener Daten noch nicht probiert, schätze aber dass es ähnlich sein wird.
Sollten noch Infos fehlen bin ich für jeden Hinweis dankbar und werde diese gerne nachreichen.
Schon mal jetzt vielen Dank für die Mühe.