Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Insert-Sql Problem mit Parametern (https://www.delphipraxis.net/99745-insert-sql-problem-mit-parametern.html)

raller09 17. Sep 2007 09:58

Datenbank: Interbase • Version: 7.5 • Zugriff über: egal

Insert-Sql Problem mit Parametern
 
Hi,

wie kann ich folgenden insert-Sql an die Datenbank abschicken?
Code:
create table TABA(
 NR integer
);

create table TABB(
 NR integer
);

create table TABC(
 ANR integer,
 BNR integer,
 WERT integer
);

insert into TABC Select a.NR as ANR, b.NR as BNR, :Wert as WERT
                 from TABA a, TABB b;

/*
drop Table TABA;
drop Table TABB;
drop Table TABC;
*/
bekomme hierbei immer einen Sql Error -804 - Data Type unknown

mit insert into TABC (Felder) values würde es klappen, aber dort wei ich nicht wie ich alle Felder sinnvoll anspreche...

MfG

raller09

mkinzler 17. Sep 2007 10:04

Re: Insert-Sql Problem mit Parametern
 
Du mußst im Insert sagen, welche Felder du einfügen willst:
SQL-Code:
insert into TABC( ANR, BNR, WERT) Select a.NR, b.NR, ':Wert' from TABA a, TABB b ;
Wie sieht die Beziehung von TABA und TABB aus? Bzw. wie sollen die werte von TABA und TABB in TABC fließen?

raller09 17. Sep 2007 12:01

Re: Insert-Sql Problem mit Parametern
 
Zitat:

Zitat von mkinzler
Wie sieht die Beziehung von TABA und TABB aus? Bzw. wie sollen die werte von TABA und TABB in TABC fließen?

Im Moment soll einfach zu einem bestimmten Zeitpunkt die Kreuztabelle gefüllt werden (ohne weitere Keys).


Für das Beispiel funktioniert es auch super, nur habe ich jetzt aber noch das Problem, das eines meiner Felder ein Blob-Feld ist...

Wenn ich den Sql z.B. über den Interbase Plan Analyser abschicke funktioniert das (es werden vorher Werte für die Parameter erfragt), jedoch aus meinem Programm heraus mittels den Fib-Komponenten kommt folgende Fehlermeldung:

Incompatible column/host variable data type.
Sql Error Code = -303 - feature is not supported.
BLOB and array data types are not supported for move operation.

Habt ihr/du dafür auch noch eine Lösung? :)

MfG

raller09

mkinzler 17. Sep 2007 12:10

Re: Insert-Sql Problem mit Parametern
 
Du musst den Parameter als Blobparameter ansprechen.

raller09 17. Sep 2007 13:41

Re: Insert-Sql Problem mit Parametern
 
Zitat:

Zitat von mkinzler
Du musst den Parameter als Blobparameter ansprechen.

Danke für den Hinweis, hab heut wieder was dazugelernt :) .

für mich lautet die Lösung so:
Delphi-Quellcode:
ParamByName('WERTBLOB').LoadFromStream(CreateBlobStream(BlobFeld, bmRead));

MfG

raller09


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:59 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