y cuando desea actualizar o agregar me genera este error
Cita:
EL CODE QUE USO ES ESTEMicrosoft OLE DB Provider for SQL Server error '80040e10'
Procedure 'UpdateUser' expects parameter '@buss_id', which was not supplied.
Procedure 'UpdateUser' expects parameter '@buss_id', which was not supplied.
Cita:
El store procedure involucrado es este' 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
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
Cita:
Sinceramente nose como resolver este problemas 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
@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
gracias por la ayuda