OVH Cloud OVH Cloud

ASP SQL serveur

3 réponses
Avatar
Mazen
Bonjour,

j'ai une procédure stoquée dont l'entete est le suivant:
DECLARE spw_cms_update_lock PROCEDURE FOR spw_cms_update_lock

@a_cms_lock_table_name = :as_cms_lock_table_name,

@a_cms_lock_table_id = :al_cms_lock_table_id,

@a_cms_lock_descr = :as_cms_lock_descr,

@a_nm_user_1a_id = :al_nm_user_1a_id,

@a_lock_state = :li_lock_state,

@a_result = :li_result output,

@a_nm_user_name = :as_nm_user_name output;

le probleme est :

j'essaie d'exécuter ce script en ASP (Normal pas .net) et je ne sais pas
comment récupérer les valeurs en output. Avant, tous mes valeurs étaient en
input et je les recuperai avec la methode normale Recordset:

strsql = "spw_cms_update_lock " & Cstr(ltrNum) & ", " & Cstr(intEssid)
Set objRs_data = Server.CreateObject("ADODB.Recordset")
objRs_data.Open StrSql, DBConn
%>

<%
if objRs_data.EOF then ....



mais maintenat j'essaie d'utiliser le "command" object mais je n'arrive pas,
je ne sais pas sil faut passer dans le strsql les valeurs de ces 2
parametres en output, là je ne les passe pas

'procedure to pose locks on the whole page when a user opens it
strsql = "spw_cms_update_lock 't_hd_folders' , " & Session("ltrnum") &
" ,''," & Session("nm_user_1a_id") & " , " & 1

Dim objConn, objCmd, objParam
'set objConn = Server.CreateObject("ADODB.Connection")
'objConn.Open "DSN=CMSTR;uid=sa;pwd="
'Set objCmd = Server.CreateObject("ADODB.Command")
'objCmd.CommandText = strsql

'objCmd.CommandType = adCmdUnknown
'response.write strsql
'objcmd.ActiveConnection = objConn
'Set objParam = objCmd.CreateParameter ("@result", adInteger,
adParamInputOutput,4)
'objCmd.Parameters.Append objParam
'Set objParam = objCmd.CreateParameter
("@nm_user_name",adChar,adParamInputOutput,50)
'objCmd.Parameters.Append objParam
'ObjCmd.Execute
%>

No of Authors write for wrox are: <% objCmd.Parameters.("@result")

est ce que c'est le bon code ???

Merci bcp en avance

3 réponses

Avatar
Mazen
Bonjour,
en fait ca marche maintenant et voila ce que j'ai fait :D






Set cn = Server.CreateObject("ADODB.Connection")
Set cmd = Server.CreateObject("ADODB.Command")
cn.Open "DSN=CMSTR;uid=sa;pwd="
Set cmd.ActiveConnection = cn
cmd.CommandText = "spw_cms_update_lock"
cmd.CommandType = 4
cmd.Parameters.Refresh
cmd.Parameters(1) = "t_hd_folders"
cmd.Parameters(2) = 24
cmd.Parameters(3) = ""
cmd.Parameters(4) = 2
cmd.Parameters(5) = 1
cmd.Execute
Response.Write "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" & cmd.Parameters(6)
Response.Write "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee" & cmd.Parameters(7)


;)






"Mazen" <sdsd> a écrit dans le message de news:

Bonjour,

j'ai une procédure stoquée dont l'entete est le suivant:
DECLARE spw_cms_update_lock PROCEDURE FOR spw_cms_update_lock

@a_cms_lock_table_name = :as_cms_lock_table_name,

@a_cms_lock_table_id = :al_cms_lock_table_id,

@a_cms_lock_descr = :as_cms_lock_descr,

@a_nm_user_1a_id = :al_nm_user_1a_id,

@a_lock_state = :li_lock_state,

@a_result = :li_result output,

@a_nm_user_name = :as_nm_user_name output;

le probleme est :

j'essaie d'exécuter ce script en ASP (Normal pas .net) et je ne sais pas
comment récupérer les valeurs en output. Avant, tous mes valeurs étaient
en input et je les recuperai avec la methode normale Recordset:

strsql = "spw_cms_update_lock " & Cstr(ltrNum) & ", " & Cstr(intEssid)
Set objRs_data = Server.CreateObject("ADODB.Recordset")
objRs_data.Open StrSql, DBConn
%>

<%
if objRs_data.EOF then ....



mais maintenat j'essaie d'utiliser le "command" object mais je n'arrive
pas, je ne sais pas sil faut passer dans le strsql les valeurs de ces 2
parametres en output, là je ne les passe pas

'procedure to pose locks on the whole page when a user opens it
strsql = "spw_cms_update_lock 't_hd_folders' , " & Session("ltrnum") &
" ,''," & Session("nm_user_1a_id") & " , " & 1

Dim objConn, objCmd, objParam
'set objConn = Server.CreateObject("ADODB.Connection")
'objConn.Open "DSN=CMSTR;uid=sa;pwd="
'Set objCmd = Server.CreateObject("ADODB.Command")
'objCmd.CommandText = strsql

'objCmd.CommandType = adCmdUnknown
'response.write strsql
'objcmd.ActiveConnection = objConn
'Set objParam = objCmd.CreateParameter ("@result", adInteger,
adParamInputOutput,4)
'objCmd.Parameters.Append objParam
'Set objParam = objCmd.CreateParameter
("@nm_user_name",adChar,adParamInputOutput,50)
'objCmd.Parameters.Append objParam
'ObjCmd.Execute
%>

No of Authors write for wrox are: <% objCmd.Parameters.("@result")

est ce que c'est le bon code ???

Merci bcp en avance







Avatar
zk
Dim objCommand As New SqlCommand
With objCommand
.CommandText = "nom_de_la_procedure_stockee"
.CommandType = CommandType.StoredProcedure
.Connection = objConn

.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@param1in",
System.Data.SqlDbType.Text)).Value = ""
.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@param2in",
System.Data.SqlDbType.Int)).Value = 11

'parametre resultat en output
.Parameters.Add(New
System.Data.SqlClient.SqlParameter("p_result",
System.Data.SqlDbType.Int)).Direction = ParameterDirection.Output

End With

'Pour

.Parameters.Add("p_result", System.Data.SqlDbType.Int).Direction =
ParameterDirection.Output

a remplacer ce qui suit par le bon type : System.Data.SqlDbType.Int

"Mazen" a écrit :

Bonjour,

j'ai une procédure stoquée dont l'entete est le suivant:
DECLARE spw_cms_update_lock PROCEDURE FOR spw_cms_update_lock

@a_cms_lock_table_name = :as_cms_lock_table_name,

@a_cms_lock_table_id = :al_cms_lock_table_id,

@a_cms_lock_descr = :as_cms_lock_descr,

@a_nm_user_1a_id = :al_nm_user_1a_id,

@a_lock_state = :li_lock_state,

@a_result = :li_result output,

@a_nm_user_name = :as_nm_user_name output;

le probleme est :

j'essaie d'exécuter ce script en ASP (Normal pas .net) et je ne sais pas
comment récupérer les valeurs en output. Avant, tous mes valeurs étaient en
input et je les recuperai avec la methode normale Recordset:

strsql = "spw_cms_update_lock " & Cstr(ltrNum) & ", " & Cstr(intEssid)
Set objRs_data = Server.CreateObject("ADODB.Recordset")
objRs_data.Open StrSql, DBConn
%>

<%
if objRs_data.EOF then ....



mais maintenat j'essaie d'utiliser le "command" object mais je n'arrive pas,
je ne sais pas sil faut passer dans le strsql les valeurs de ces 2
parametres en output, là je ne les passe pas

'procedure to pose locks on the whole page when a user opens it
strsql = "spw_cms_update_lock 't_hd_folders' , " & Session("ltrnum") &
" ,''," & Session("nm_user_1a_id") & " , " & 1

Dim objConn, objCmd, objParam
'set objConn = Server.CreateObject("ADODB.Connection")
'objConn.Open "DSN=CMSTR;uid=sa;pwd="
'Set objCmd = Server.CreateObject("ADODB.Command")
'objCmd.CommandText = strsql

'objCmd.CommandType = adCmdUnknown
'response.write strsql
'objcmd.ActiveConnection = objConn
'Set objParam = objCmd.CreateParameter ("@result", adInteger,
adParamInputOutput,4)
'objCmd.Parameters.Append objParam
'Set objParam = objCmd.CreateParameter
("@nm_user_name",adChar,adParamInputOutput,50)
'objCmd.Parameters.Append objParam
'ObjCmd.Execute
%>

No of Authors write for wrox are: <% objCmd.Parameters.("@result")

est ce que c'est le bon code ???

Merci bcp en avance








Avatar
zk
Dim objCommand As New SqlCommand
With objCommand
.CommandText = "nom_de_la_procedure_stockee"
.CommandType = CommandType.StoredProcedure
.Connection = objConn

.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@param1in",
System.Data.SqlDbType.Text)).Value = ""
.Parameters.Add(New
System.Data.SqlClient.SqlParameter("@param2in",
System.Data.SqlDbType.Int)).Value = 11

'parametre resultat en output
.Parameters.Add(New
System.Data.SqlClient.SqlParameter("p_result",
System.Data.SqlDbType.Int)).Direction = ParameterDirection.Output

End With

'Pour

.Parameters.Add("p_result", System.Data.SqlDbType.Int).Direction =
ParameterDirection.Output

a remplacer ce qui suit par le bon type : System.Data.SqlDbType.Int

"Mazen" a écrit :

Bonjour,

j'ai une procédure stoquée dont l'entete est le suivant:
DECLARE spw_cms_update_lock PROCEDURE FOR spw_cms_update_lock

@a_cms_lock_table_name = :as_cms_lock_table_name,

@a_cms_lock_table_id = :al_cms_lock_table_id,

@a_cms_lock_descr = :as_cms_lock_descr,

@a_nm_user_1a_id = :al_nm_user_1a_id,

@a_lock_state = :li_lock_state,

@a_result = :li_result output,

@a_nm_user_name = :as_nm_user_name output;

le probleme est :

j'essaie d'exécuter ce script en ASP (Normal pas .net) et je ne sais pas
comment récupérer les valeurs en output. Avant, tous mes valeurs étaient en
input et je les recuperai avec la methode normale Recordset:

strsql = "spw_cms_update_lock " & Cstr(ltrNum) & ", " & Cstr(intEssid)
Set objRs_data = Server.CreateObject("ADODB.Recordset")
objRs_data.Open StrSql, DBConn
%>

<%
if objRs_data.EOF then ....



mais maintenat j'essaie d'utiliser le "command" object mais je n'arrive pas,
je ne sais pas sil faut passer dans le strsql les valeurs de ces 2
parametres en output, là je ne les passe pas

'procedure to pose locks on the whole page when a user opens it
strsql = "spw_cms_update_lock 't_hd_folders' , " & Session("ltrnum") &
" ,''," & Session("nm_user_1a_id") & " , " & 1

Dim objConn, objCmd, objParam
'set objConn = Server.CreateObject("ADODB.Connection")
'objConn.Open "DSN=CMSTR;uid=sa;pwd="
'Set objCmd = Server.CreateObject("ADODB.Command")
'objCmd.CommandText = strsql

'objCmd.CommandType = adCmdUnknown
'response.write strsql
'objcmd.ActiveConnection = objConn
'Set objParam = objCmd.CreateParameter ("@result", adInteger,
adParamInputOutput,4)
'objCmd.Parameters.Append objParam
'Set objParam = objCmd.CreateParameter
("@nm_user_name",adChar,adParamInputOutput,50)
'objCmd.Parameters.Append objParam
'ObjCmd.Execute
%>

No of Authors write for wrox are: <% objCmd.Parameters.("@result")

est ce que c'est le bon code ???

Merci bcp en avance