Foros del Web » Programando para Internet » ASP Clásico »

Error para actualizar datos usuario

Estas en el tema de Error para actualizar datos usuario en el foro de ASP Clásico en Foros del Web. Hola tengo una aplicacion en la cual actualizo datos y agrego nuevos usuarios y cuando desea actualizar o agregar me genera este error Cita: Microsoft ...
  #1 (permalink)  
Antiguo 02/08/2005, 09:41
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 20 años, 5 meses
Puntos: 1
Error para actualizar datos usuario

Hola tengo una aplicacion en la cual actualizo datos y agrego nuevos usuarios
y cuando desea actualizar o agregar me genera este error

Cita:
Microsoft OLE DB Provider for SQL Server error '80040e10'

Procedure 'UpdateUser' expects parameter '@buss_id', which was not supplied.
EL CODE QUE USO ES ESTE

Cita:
' Variables
Dim oRec, iUserId
dim sTitle, sMess
dim sFirstName, sLastName, sPersEmail, sPersPhone
dim iCountry, iSite, iLevel, iFunction, iBussUnit
dim dtStartDate, sPGPhone, sPGEmail, sUniversity
dim iAccessLevel, sPass, bActivo, iManager


' Inicialización de variables
sMess = ""

' Tomar id
iUserId = Request.QueryString("user_id")

' Manager
if Request.Form("manager") = "" then
iManager = 0
else
iManager = Request.Form("manager")
end if


' Validar si se hizo post
if (Request.form("last_name") <> "") then

'Clear Parameters
oConn.ClearParameters
oConn.CreateParameter "@personal_email" , advarchar, adParamInput,50, Request.Form("pers_email")
oConn.CreateParameter "@pg_email" , advarchar, adParamInput,50, Request.Form("pg_email")
Set oRec = oConn.ExecuteQuery("ValidateNewUser")

' Parámetros
oConn.ClearParameters
oConn.CreateParameter "@user_nomb" , advarchar, adParamInput,50, Request.Form("first_name")
oConn.CreateParameter "@user_apel" , advarchar, adParamInput,50, Request.Form("last_name")
oConn.CreateParameter "@coun_id" , adtinyint, adParamInput,1, Request.Form("country")
oConn.CreateParameter "@user_mail" , advarchar, adParamInput,50, Request.Form("pers_email")
oConn.CreateParameter "@site_id" , adsmallint,adParamInput, 2, Request.Form("site")
oConn.CreateParameter "@buss_id" , adsmallint,adParamInput, 2, Request.Form("_unit")
oConn.CreateParameter "@user_telf" , advarchar, adParamInput,12, Request.Form("pers_phone")
oConn.CreateParameter "@func_id" , adsmallint,adParamInput, 2, Request.Form("funcion")
oConn.CreateParameter "@user_sdate" , addate, adParamInput, 8, Request.Form("start_year") & "-" & Request.Form("start_month") & "-" & Request.Form("start_day")
oConn.CreateParameter "@user_pgmail", advarchar, adParamInput,50, Request.Form("pg_email")
oConn.CreateParameter "@leve_id" , adtinyint, adParamInput,1, Request.Form("level")
oConn.CreateParameter "@user_univ" , advarchar, adParamInput,50, Request.Form("university")
oConn.CreateParameter "@user_pgtel" , advarchar, adParamInput,12, Request.Form("pg_phone")
oConn.CreateParameter "@user_nive" , adtinyint, adParamInput,1, Request.Form("access_level")
if len(Request.Form("password")) = 0 then
oConn.CreateParameter "@user_pass" , advarchar, adParamInput,10, "123"
else
oConn.CreateParameter "@user_pass" , advarchar, adParamInput,10, Request.Form("password")
end if
oConn.CreateParameter "@user_stat" , adtinyint, adParamInput,1, Request.Form("activo")
oConn.CreateParameter "@manager", adInteger, adParamInput, 4, iManager

' Iniciar la transacción
oConn.BeginTrans
' Edición
if (iUserId <> "") then
if not(oRec.eof) then
oConn.CreateParameter "@user_id", adInteger, adParamInput, 4, iUserId
oConn.ExecuteNonQuery("UpdateUser")
sMess = "The User has been updated"
else
%>
<script>
alert('A problem has ocurred.');
</script>
<%
end if
'Nuevo usuario
else
if (oRec.eof) then
oConn.CreateParameter "@user_id", adInteger, adParamOutput, 4, null
oConn.ExecuteNonQuery("InsertUser")

' Tomar nuevo id
iUserId = oConn.GetParameterValue("@user_id")
sMess = "The User has been created"
else
%>
<script>
alert('User already exist.');
</script>
<%
end if
end if

' Guardar las asignaciones de encuestas
' Borrar encustas anteriores (las que no haya contestado el usuario)
oConn.ClearParameters
oConn.CreateParameter "@user_id", adInteger, adParamInput, 4, iUserId
oConn.ExecuteNonQuery("DeleteUserEncuesta")
dim aEncSel
aEncSel = split(Request.Form("encuestas_asig"), ",")
if (isarray(aEncSel)) then
for i=0 to ubound(aEncSel)
oConn.ClearParameters
oConn.CreateParameter "@user_id", adInteger, adParamInput, 4, iUserId
oConn.CreateParameter "@encu_id", adTinyint, adParamInput, 1, aEncSel(i)
oConn.ExecuteNonQuery("InsertUserEncuesta")
next
end if

' Confirmar la transacción
oConn.CommitTrans
end if

' Si es edición
if (iUserId <> "") then
sTitle = "Edit User"

' Buscar datos en la bd
oConn.ClearParameters
oConn.CreateParameter "@user_id", adInteger, adParamInput, 1, iUserId
set oRec = oConn.ExecuteQuery("SelectUserEditData")
if not oRec.eof then
sLastName = oRec.Fields("user_apel")
sFirstName = oRec.Fields("user_nomb")
sPersEmail = oRec.Fields("user_mail")
sPersPhone = oRec.Fields("user_telf")
iCountry = oRec.Fields("coun_id")
iSite = oRec.Fields("site_id")
iLevel = oRec.Fields("leve_id")
iFunction = oRec.Fields("func_id")
iBussUnit = oRec.Fields("buss_id")
dtStartDate = oRec.Fields("user_sdate")
sPGPhone = oRec.Fields("user_pgtel")
sPGEmail = oRec.Fields("user_pgmail")
sUniversity = oRec.Fields("user_univ")
iAccessLevel = oRec.Fields("user_nive")
sPass = oRec.Fields("user_pass")
bActivo = oRec.Fields("user_stat")
iManager = oRec.Fields("user_manager")
end if
else
sTitle = "Add User"
bActivo=true
dtStartDate = date()
end if
El store procedure involucrado es este


Cita:
CREATE PROCEDURE dbo.UpdateUser
@user_nomb varchar(50),
@user_apel varchar(50),
@coun_id tinyint,
@user_mail varchar(50),
@site_id smallint,
@buss_id smallint,
@user_telf varchar(12),
@func_id smallint,
@user_sdate datetime,
@user_pgmail varchar(50),
@leve_id tinyint,
@user_univ varchar(50),
@user_pgtel varchar(12),
@user_nive tinyint,
@user_pass varchar(10),
@user_stat bit,
@manager int,
@user_id int
AS
Update users set
user_nomb=@user_nomb, user_apel=@user_apel, coun_id=@coun_id, user_mail=@user_mail,
site_id=@site_id, buss_id=@buss_id, user_telf=@user_telf, func_id=@func_id, user_sdate=@user_sdate,
user_pgmail=@user_pgmail, leve_id=@leve_id, user_univ=@user_univ, user_pgtel=@user_pgtel,
user_nive=@user_nive, user_pass=@user_pass, user_stat = @user_stat, user_manager = @manager
where user_id=@user_id


GO
Sinceramente nose como resolver este problemas

gracias por la ayuda
  #2 (permalink)  
Antiguo 02/08/2005, 09:50
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 23 años, 3 meses
Puntos: 146
El error dice todo:
Código:
Procedure 'UpdateUser' expects parameter '@buss_id', which was not supplied.
El SP tiene definido el parámetro @buss_id y no lo haz definido en el comando o no le estas mandándo un valor.
  #3 (permalink)  
Antiguo 02/08/2005, 10:30
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
el campo del buss_id se llama "_unit"?

oConn.CreateParameter "@buss_id" , adsmallint,adParamInput, 2, Request.Form("_unit")
  #4 (permalink)  
Antiguo 02/08/2005, 11:26
Avatar de Sayra  
Fecha de Ingreso: diciembre-2004
Mensajes: 365
Antigüedad: 20 años, 5 meses
Puntos: 1
No, el parametro es Buss_Unit, y por eso no le estaba pasando el parametro al procedimiento.

Muchas gracias a los dos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:45.