Avatar billede wordwrap Nybegynder
08. april 2005 - 11:30 Der er 5 kommentarer og
1 løsning

php / mssql stored procedure

Hejsa..

Skal lige høre om der er nogen her som har arbejdet lidt med msslq stored procedure..

i får lige et eksempel fra noget dokumentation :D

Følgende tekst I SQL Query analyser vil oprette en kunde og vise den fundne ID. Hvis funktionen køres en gang til med samme @P_ImportID (’00012345’) tilbageleveres den samme @P_AdrID igen.


DECLARE @P_AdrID int

DECLARE @P_err int

exec wf_web_AddCustomer '00012345',1000, '676767', @P_AdrID OUTPUT, @P_err OUTPUT


SELECT @P_err, @P_AdrID



Er kommet så langt at jeg kan få oprettet en kunde, men får ikke returneret P_AdrID, hvilken jeg skal bruge for at komme videre...

sÅ hvis der lige var en som kunne skrive det om ville det være en rar ting...

på forhånd tak

/Strange
Avatar billede a1a1 Novice
08. april 2005 - 11:43 #1
i din storedprocedure, har du noget ala
insert into tabel (a,b,c) values (1,2,3)
bagefter det skriver du:
select @@identity (jeg går ud fra at det er et autogenereret id)

;o)
Avatar billede wordwrap Nybegynder
08. april 2005 - 11:54 #2
går ud fra  du mener jeg skal ind og rode i den storedprocedure... og det vil jeg helst ik lige...

prøver lige og uddybe lidt :D

Der er oprettet en storedprocedure... ved navn wf_web_AddCustomer

Kører jeg det tidligere skrevet i mssql query analyser, virker den også fint, der får jeg returneret AdrID..

og ja det er et autogenereret id :D

problemet ligger i jeg skal kunne køre et mssql query fra en php side, som kalder den procedure, og skal have returneret det AdrID til en variabel som jeg skal arbejde videre med...

Vil tro problemet ligger i de variabler i det query, får følgende fejl, så længe jeg har OUTPUT med i mit query :


Warning: mssql_query(): message: Error converting data type varchar to int. (severity 16) in /var/www/mssql.php on line 15
Avatar billede ldanielsen Nybegynder
08. april 2005 - 12:00 #3
Vi må nok se din sp ...

og ang. fejlen: @P_AdrID eller @P_err returnerer åbenbart tekst fra sp'en, og du har deklareret dem som int ...
Avatar billede wordwrap Nybegynder
08. april 2005 - 12:32 #4
Vil tro det er lige omvendt... at jeg har den som varchar. feltet den skal returnere id´et fra er ihvertfald sat som int...

Kan jeg på nogen måde i php deklarere @P_AdrID som int ??

Hjælper nok ikke meget at smide mit query her, da det pt ikke virker alligevel :(
Avatar billede wordwrap Nybegynder
08. april 2005 - 13:12 #5
fik googlet lidt, og er kommet lidt videre :D

er kommet frem til dette:

$adduser = mssql_query("declare @P_AdrID int declare @P_err int exec wf_web_AddCustomer '00012346','1002', '676767', @P_AdrID OUTPUT, @P_err OUTPUT SELECT @P_AdrID");

Kommer ikke med nogen fejl, når den bliver kørt.... så er det bare lige, hvordan får jeg fat i værdien fra @P_AdrID ??
Avatar billede wordwrap Nybegynder
08. april 2005 - 13:59 #6
never mind... fandt selv ud af det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester