Forums Últimos mensajes - Powered by IBM
 

Problemas con FormView y Stored Procedure

22/05/2011 - 00:16 por brai-mellor | Informe spam
Buenas, paso a contar mi problema, estoy haciendo un proyecto con visual studio 2010 en asp.net y vb. Bueno tengo y gridview y un formview que depende de la seleccion del gridview. Todo funciona barbaro, pero al momento de actualizar con el formview, la base de datos responde como que se actualizo corresctamente pero no se reflejan los cambios en el formview. Luego de hacer varias puebas con el procedimiento almacenado, pude notar que al queres actualizar mas de 2 tablas a la vez en cuando me sucede esto, en cambio al hacerlo con una tabla a la vez los cambios se realizan instantaneamente. Lo extraño del asunto es que si pruebo el sp desde el sql server 2005 funciona de lujo, pero cuando lo llamo desde el visual funciona como deberia. alguna sugerencia?

paso el sp

create procedure sp_ActualizarPersona
@Pers_Trato nvarchar(50),
@Pers_Apellido nvarchar(50),
@Pers_Nombre nvarchar(50),
@Pers_TelCelular nvarchar(50),
@Pers_TelParticular nvarchar(50),
@IdDireccionPostal int,
@Pers_MailPersonal nvarchar(75),
@Pers_Observacion nvarchar(255),
@Pers_FechaDeNacimiento datetime,
@Pers_Ip nvarchar(50),
@Pers_TieneAccess nvarchar(50),
@Pers_Sexo varchar(1),
@Pers_Foto varchar(max),
@IdPersona int,
@IdCargo int,
@IdJefe int,
@IdOrganismo int,
@PersHisto_FechaComienzo datetime,
@PersHisto_FechaFin datetime,
@PersHisto_TelOficina nvarchar(50),
@PersHisto_TelFax nvarchar(50),
@PersHisto_Piso nvarchar(25),
@PersHisto_Oficina nvarchar(25),
@PersHisto_MailLaboral nvarchar(75),
@PersHisto_MailLaboral2 nvarchar(75),
@IdPersonaHisto int

as

Update Personas
Set Pers_Trato=@Pers_Trato, Pers_Apellido=@Pers_Apellido, Pers_Nombre=@Pers_Nombre,
Pers_TelCelular=@Pers_TelCelular, Pers_TelParticular=@Pers_TelParticular,
IdDireccionPostal=@IdDireccionPostal, Pers_MailPersonal=@Pers_MailPersonal,
Pers_Observacion=@Pers_Observacion, Pers_FechaDeNacimiento=@Pers_FechaDeNacimiento,
Pers_Ip=@Pers_Ip, Pers_TieneAccess=@Pers_TieneAccess, Pers_Sexo=@Pers_Sexo, Pers_Foto=@Pers_Foto
Where IdPersona=@IdPersona

Update PersonasHisto
Set IdCargo=@IdCargo, IdJefe=@IdJefe, IdOrganismo=@IdOrganismo, PersHisto_FechaComienzo=@PersHisto_FechaComienzo,
PersHisto_FechaFin=@PersHisto_FechaFin, PersHisto_TelOficina=@PersHisto_TelOficina, PersHisto_TelFax=@PersHisto_TelFax,
PersHisto_Piso=@PersHisto_Piso, PersHisto_Oficina=@PersHisto_Oficina, PersHisto_MailLaboral=@PersHisto_MailLaboral,
PersHisto_MailLaboral2=@PersHisto_MailLaboral2
Where IdPersonaHisto=@IdPersonaHisto

Return


y parte del codigo por si les sirve de algo


<asp:SqlDataSource ID="SqlDataSourceDetalle" runat="server" ConnectionString="<%$ ConnectionStrings:DNPOIC_dbConnectionString %>"
SelectCommand="sp_SeleccionarPersonasDatosCompletos"
SelectCommandType="StoredProcedure" UpdateCommand="sp_ActualizarPersona" UpdateCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" Name="IdPersona" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Pers_Trato" Type="String" />
<asp:Parameter Name="Pers_Apellido" Type="String" />
<asp:Parameter Name="Pers_Nombre" Type="String" />
<asp:Parameter Name="Pers_TelCelular" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_TelParticular" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="IdDireccionPostal" Type="Int32" />
<asp:Parameter Name="Pers_MailPersonal" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_Observacion" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_FechaDeNacimiento" Type="DateTime" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_Ip" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_TieneAccess" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_Sexo" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_Foto" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="IdPersona" Type="Int32" />
<asp:Parameter Name="IdCargo" Type="Int32" />
<asp:Parameter Name="IdJefe" Type="Int32" />
<asp:Parameter Name="IdOrganismo" Type="Int32" />
<asp:Parameter Name="PersHisto_FechaComienzo" Type="DateTime" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_FechaFin" Type="DateTime" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_TelOficina" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_TelFax" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_Piso" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_Oficina" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_MailLaboral" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_MailLaboral2" Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="IdPersonaHisto" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>

Espero puedan ayudarme, ya qu estoy trabado con esto hace tiempo y no encuentro solucion en google.
Saludos
 

Leer las respuestas

#1 cheovargas
14/07/2011 - 10:58 | Informe spam
brai-mellor escribió el 22/05/2011 00:16 :
Buenas, paso a contar mi problema, estoy haciendo un proyecto con visual studio
2010 en asp.net y vb. Bueno tengo y gridview y un formview que depende de la
seleccion del gridview. Todo funciona barbaro, pero al momento de actualizar
con el formview, la base de datos responde como que se actualizo corresctamente
pero no se reflejan los cambios en el formview. Luego de hacer varias puebas
con el procedimiento almacenado, pude notar que al queres actualizar mas de 2
tablas a la vez en cuando me sucede esto, en cambio al hacerlo con una tabla a
la vez los cambios se realizan instantaneamente. Lo extraño del asunto
es que si pruebo el sp desde el sql server 2005 funciona de lujo, pero cuando
lo llamo desde el visual funciona como deberia. alguna sugerencia?

paso el sp

create procedure sp_ActualizarPersona
@Pers_Trato nvarchar(50),
@Pers_Apellido nvarchar(50),
@Pers_Nombre nvarchar(50),
@Pers_TelCelular nvarchar(50),
@Pers_TelParticular nvarchar(50),
@IdDireccionPostal int,
@Pers_MailPersonal nvarchar(75),
@Pers_Observacion nvarchar(255),
@Pers_FechaDeNacimiento datetime,
@Pers_Ip nvarchar(50),
@Pers_TieneAccess nvarchar(50),
@Pers_Sexo varchar(1),
@Pers_Foto varchar(max),
@IdPersona int,
@IdCargo int,
@IdJefe int,
@IdOrganismo int,
@PersHisto_FechaComienzo datetime,
@PersHisto_FechaFin datetime,
@PersHisto_TelOficina nvarchar(50),
@PersHisto_TelFax nvarchar(50),
@PersHisto_Piso nvarchar(25),
@PersHisto_Oficina nvarchar(25),
@PersHisto_MailLaboral nvarchar(75),
@PersHisto_MailLaboral2 nvarchar(75),
@IdPersonaHisto int

as

Update Personas
Set Pers_Trato=@Pers_Trato, Pers_Apellido=@Pers_Apellido,
Pers_Nombre=@Pers_Nombre,
Pers_TelCelular=@Pers_TelCelular, Pers_TelParticular=@Pers_TelParticular,
IdDireccionPostal=@IdDireccionPostal, Pers_MailPersonal=@Pers_MailPersonal,
Pers_Observacion=@Pers_Observacion,
Pers_FechaDeNacimiento=@Pers_FechaDeNacimiento,
Pers_Ip=@Pers_Ip, Pers_TieneAccess=@Pers_TieneAccess, Pers_Sexo=@Pers_Sexo,
Pers_Foto=@Pers_Foto
Where IdPersona=@IdPersona

Update PersonasHisto
Set IdCargo=@IdCargo, IdJefe=@IdJefe, IdOrganismo=@IdOrganismo,
PersHisto_FechaComienzo=@PersHisto_FechaComienzo,
PersHisto_FechaFin=@PersHisto_FechaFin,
PersHisto_TelOficina=@PersHisto_TelOficina, PersHisto_TelFax=@PersHisto_TelFax,
PersHisto_Piso=@PersHisto_Piso, PersHisto_Oficina=@PersHisto_Oficina,
PersHisto_MailLaboral=@PersHisto_MailLaboral,
PersHisto_MailLaboral2=@PersHisto_MailLaboral2
Where IdPersonaHisto=@IdPersonaHisto

Return


y parte del codigo por si les sirve de algo


<asp:SqlDataSource ID="SqlDataSourceDetalle"
runat="server" ConnectionString="<%$
ConnectionStrings:DNPOIC_dbConnectionString %>"
SelectCommand="sp_SeleccionarPersonasDatosCompletos"
SelectCommandType="StoredProcedure"
UpdateCommand="sp_ActualizarPersona"
UpdateCommandType="StoredProcedure">
<SelectParameters>
<asp:ControlParameter ControlID="GridView1"
Name="IdPersona" PropertyName="SelectedValue"
Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Pers_Trato" Type="String" />
<asp:Parameter Name="Pers_Apellido" Type="String" />
<asp:Parameter Name="Pers_Nombre" Type="String" />
<asp:Parameter Name="Pers_TelCelular" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_TelParticular" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="IdDireccionPostal" Type="Int32"
/>
<asp:Parameter Name="Pers_MailPersonal" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_Observacion" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_FechaDeNacimiento"
Type="DateTime" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_Ip" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_TieneAccess" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_Sexo" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="Pers_Foto" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="IdPersona" Type="Int32" />
<asp:Parameter Name="IdCargo" Type="Int32" />
<asp:Parameter Name="IdJefe" Type="Int32" />
<asp:Parameter Name="IdOrganismo" Type="Int32" />
<asp:Parameter Name="PersHisto_FechaComienzo"
Type="DateTime" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_FechaFin" Type="DateTime"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_TelOficina" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_TelFax" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_Piso" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_Oficina" Type="String"
ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_MailLaboral"
Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="PersHisto_MailLaboral2"
Type="String" ConvertEmptyStringToNull="true" />
<asp:Parameter Name="IdPersonaHisto" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>

Espero puedan ayudarme, ya qu estoy trabado con esto hace tiempo y no encuentro
solucion en google.
Saludos


Hola buenas tardes

Viendo tu pregunta, tu estas haciendo algo que yo tengo dias buscando.

Quisiera saber si me podrías ayudar a vincular el gridview con el formview, he estado buscando por Internet y no encuentro la forma o no estoy buscando bien.

Agradecería de antemano la colaboración que me pudieras prestar.

Saludos

Jose Vargas
Caracas - Venezuela

Preguntas similares