ďťż
 
Firebird 1.5, Invalid argument in EXECUTION STATEMENT - cannot convert to string ďťż
 
Firebird 1.5, Invalid argument in EXECUTION STATEMENT - cannot convert to string
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Firebird 1.5, Invalid argument in EXECUTION STATEMENT - cannot convert to string



R2r - 23-11-2006 00:11
Firebird 1.5, Invalid argument in EXECUTION STATEMENT - cannot convert to string
  Witam,

Probuje wykonac nastepujaca procedure:

CREATE PROCEDURE SET_GENERATORS
returns (
a bigint)
as
declare variable c varchar(300);
declare variable tmp varchar(200);
begin
for select rdb$generator_name from rdb$generators
where (rdb$generator_name not containing '$')
into :tmp
do
begin
c='insert into'||a||'values (gen_id('||tmp||',1)';
execute statement c;
suspend;
end
end

Procedura kompiluje sie poprawnie, natomiast podczas wykonania
wyskakuje blad "Invalid argument in EXECUTION STATEMENT - cannot
convert to string"

Skad ten blad i jak go naprawic?? Z gory dzieki za pomoc.

pzdr. R2r





Wito - 23-11-2006 00:11

 
R2r napisal(a):
> Witam,
>
> Probuje wykonac nastepujaca procedure:
>
> CREATE PROCEDURE SET_GENERATORS
> returns (
> a bigint)
> as
> declare variable c varchar(300);
> declare variable tmp varchar(200);
> begin
> for select rdb$generator_name from rdb$generators
> where (rdb$generator_name not containing '$')
> into :tmp
> do
> begin
> c='insert into'||a||'values (gen_id('||tmp||',1)';
> execute statement c;
> suspend;
> end
> end
>
> Procedura kompiluje sie poprawnie, natomiast podczas wykonania
> wyskakuje blad "Invalid argument in EXECUTION STATEMENT - cannot
> convert to string"
>
> Skad ten blad i jak go naprawic?? Z gory dzieki za pomoc.
>
> pzdr. R2r

1. 'insert into'||a||'values --->>> tu brakuje chyba kilku spacji
2. zwracasz "a" a gdzie jest ustawiana wartosci tego "a"
3. zgodnie z komunikatem nie mozna przetworzyc instrukcji gdzie a jest
puste
4. "a" powinno byc zadeklarowane jako zmienna wejsciowa (przy zalozeniu
ze uzytkownik bedzie podawal nazwe tabeli) a nie jako zmienna zwracana
np: CREATE PROCEDURE SET_GENERATORS ( a varchar (50)) wtedy wywolujesz
procedure z parametrem

Sprostuj jezeli sie pomylilem

Wito




R2r - 23-11-2006 00:11

 
Wito napisał(a):
> R2r napisal(a):
> > Witam,
> >
> > Probuje wykonac nastepujaca procedure:
> >
> > CREATE PROCEDURE SET_GENERATORS
> > returns (
> > a bigint)
> > as
> > declare variable c varchar(300);
> > declare variable tmp varchar(200);
> > begin
> > for select rdb$generator_name from rdb$generators
> > where (rdb$generator_name not containing '$')
> > into :tmp
> > do
> > begin
> > c='insert into'||a||'values (gen_id('||tmp||',1)';
> > execute statement c;
> > suspend;
> > end
> > end
> >
> > Procedura kompiluje sie poprawnie, natomiast podczas wykonania
> > wyskakuje blad "Invalid argument in EXECUTION STATEMENT - cannot
> > convert to string"
> >
> > Skad ten blad i jak go naprawic?? Z gory dzieki za pomoc.
> >
> > pzdr. R2r
>
> 1. 'insert into'||a||'values --->>> tu brakuje chyba kilku spacji
> 2. zwracasz "a" a gdzie jest ustawiana wartosci tego "a"
> 3. zgodnie z komunikatem nie mozna przetworzyc instrukcji gdzie a jest
> puste
> 4. "a" powinno byc zadeklarowane jako zmienna wejsciowa (przy zalozeniu
> ze uzytkownik bedzie podawal nazwe tabeli) a nie jako zmienna zwracana
> np: CREATE PROCEDURE SET_GENERATORS ( a varchar (50)) wtedy wywolujesz
> procedure z parametrem
>
> Sprostuj jezeli sie pomylilem
>
> Wito

Faktycznie brakuje kilku spacji :)).

Jest tez tam zmienna tmp, ktora to podaje nazwe tabeli. Do zmiennej a
chce wstawic wartosc z generatora o nazwie przekazanej w zmiennej tmp.
Chce uzyskac wartosc danego generatora. Taka jest mysl przewodnia :)




Wito - 23-11-2006 00:11

 
R2r napisał(a):
> Wito napisał(a):
> > R2r napisal(a):
> > > Witam,
> > >
> > > Probuje wykonac nastepujaca procedure:
> > >
> > > CREATE PROCEDURE SET_GENERATORS
> > > returns (
> > > a bigint)
> > > as
> > > declare variable c varchar(300);
> > > declare variable tmp varchar(200);
> > > begin
> > > for select rdb$generator_name from rdb$generators
> > > where (rdb$generator_name not containing '$')
> > > into :tmp
> > > do
> > > begin
> > > c='insert into'||a||'values (gen_id('||tmp||',1)';
> > > execute statement c;
> > > suspend;
> > > end
> > > end
> > >
> > > Procedura kompiluje sie poprawnie, natomiast podczas wykonania
> > > wyskakuje blad "Invalid argument in EXECUTION STATEMENT - cannot
> > > convert to string"
> > >
> > > Skad ten blad i jak go naprawic?? Z gory dzieki za pomoc.
> > >
> > > pzdr. R2r
> >
> > 1. 'insert into'||a||'values --->>> tu brakuje chyba kilku spacji
> > 2. zwracasz "a" a gdzie jest ustawiana wartosci tego "a"
> > 3. zgodnie z komunikatem nie mozna przetworzyc instrukcji gdzie a jest
> > puste
> > 4. "a" powinno byc zadeklarowane jako zmienna wejsciowa (przy zalozeniu
> > ze uzytkownik bedzie podawal nazwe tabeli) a nie jako zmienna zwracana
> > np: CREATE PROCEDURE SET_GENERATORS ( a varchar (50)) wtedy wywolujesz
> > procedure z parametrem
> >
> > Sprostuj jezeli sie pomylilem
> >
> > Wito
>
> Faktycznie brakuje kilku spacji :)).
>
> Jest tez tam zmienna tmp, ktora to podaje nazwe tabeli.
tmp PRZEKAZUJE NAZWE GENERATORA A NIE TABELI !!!!

Do zmiennej a chce wstawic wartosc z generatora o nazwie przekazanej w
zmiennej tmp.

1. tmp przetrzymuje nazwe generatora i to jest ok
2. wg mnie powinienes TYLKO TO napisac
a = gen_id('||tmp||',0) - co zwroci biezaca wartosc generatora

tAK TO POWINNO WYGLADAC
CREATE PROCEDURE SET_GENERATORS
returns ( a bigint)
as
declare variable c varchar(300);
declare variable tmp varchar(200);
begin
for select rdb$generator_name from rdb$generators
where (rdb$generator_name not containing '$')
into :tmp
do
begin
C = ' select gen_id ( ' || :tmp || ',0 ) from RDB$Database';
//lub rdb$databases

a = execute statement c;

suspend;
> > > end
> > > end

Wito
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Firebird - zmiana NULL na NOT NULL [firebird] Czym =?ISO-8859-2?Q?zast=B1pi=E6_postgresowy_inte?==?ISO-8859-2?Q?rval_=3F?= Insert do tabeli danymi z innej tabeli Firebird Insert do tabeli z danych innej tabeli plus dodatkowa wartośćpola (Firebird) firebird - dostep do roznych baz na podstawie nazwy usera,hasla i adresu IP =?iso-8859-2?q?Konfiguracja_Firebirda_pod_k=B1tem_wykorzystan ia_pami=EAci?= =?ISO-8859-2?Q?[firebird]_gdzie_si=EA_podzia=B3y_polskie_literki?= Re: [Firebird] BDE problem z zapisem konfiguracji pod Windows Vista =?iso-8859-2?q?firebird_i_triggery_-_logowanie_historii_zmian_zawarto=B6ci?= =?iso-8859-2?q?[firebird]_-_jak_zastapi=E6_pole_longtext_=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lisinski.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com