SQl no graba registros de un aplicacion Visual Basic con grilla sp

15/07/2005 - 22:02 por Jose Luis | Informe spam
Tenemos un programa que se esta desarrollando con visual Basic 6.0 con base
de datos SQL Server 2000 y nuestro principal problema radica en la digitación
de información que se realiza en una de las opciones del programa, en esta
opción se digita información en una grilla Spread Designer 3.0.32 – 32 bit,
cuando se realiza la digitación se gatilla la llamada a un store procedure el
cual se encarga de grabar la información realizando un update contra la
tabla, produciéndose lo siguiente, en algunas ocasiones se digitan n
registros y los graba, pero en algún momento de forma aleatoria deja de
grabar, es decir de una digitaron por ejemplo de 1000 registros solo graba la
mitad, creyendo por supuesto que los 1000 registros se han grabado, pero
cuando se realiza un chequeo de la información esta no esta completa.

Hemos probado con muchas alternativas ya que este problema se presenta
siempre, es decir un día graba una determinada cantidad de registro y en otro
momento otra cantidad, es decir aleatoriamento graba y otras no.
Pensamos que podía ser la aplicación, por lo mismo cambiamos en varias
ocasiones el código que lleva los datos al store procedure, por ejemplo lo
ultimo que se creo fue un objeto comand.

Dim Comando As ADODB.Command
Set Comando = New ADODB.Command
Comando.ActiveConnection = DB

Comando.CommandType = adCmdStoredProc
Comando.CommandText = "Sp_GrabaGrillaResultado"
Comando.Parameters.Append Comando.CreateParameter("NroProyecto",
adBigInt, adParamInput)
Comando.Parameters.Append Comando.CreateParameter("Fono", adBigInt,
adParamInput)
Comando.Parameters.Append Comando.CreateParameter("CodResultado",
adBigInt, adParamInput)
Comando.Parameters.Append Comando.CreateParameter("Cod_C",
adVarChar, adParamInput, 2)
Comando.Parameters.Append Comando.CreateParameter("Cod_D",
adVarChar, adParamInput, 2)
Comando.Parameters.Append Comando.CreateParameter("Fecha_Mov",
adDate, adParamInput, 2)

Comando("NroProyecto").Value = lProyecto
Comando("Fono").Value = CLng(fono)
Comando("CodResultado").Value = CodResultado
Comando("Cod_C").Value = Trim(COD_C)
Comando("Cod_D").Value = Trim(COD_D)
Comando("Fecha_Mov").Value = hoy
Comando.Execute
Set Comando = Nothing

Vemos en el Profiler lo que sucede con la información que pasamos por el
store procedure y dándonos cuenta que al parecer los datos están siendo
grabados, pero lamentablemente no es así, al store procedure se le agrego el
siguiente código, antes de hacer el update
Set Implicit_Transaction Off

Con la idea que no se limitara el numero de transacciones posibles, pero
lamentablemente no funciono, además se instalo el cliente de SQL Server
actualizando también el Mdac.
Hay que señalar que cuando nos damos cuenta que la información se grabo
hasta cierto punto y seguimos digitando no recibimos ningún mensaje de parte
del servidor, que nos indique que algo esta sucediendo con esos registros que
de alguna manera no se están grabando

SERA ALGUNA CONFIGURACION DEL DRIVER DE CONEXION O SETEOS EN SQL SERVER
(buffer, temporales, restricciones,etc)

Preguntas similare

Leer las respuestas

#6 jlel
18/07/2005 - 18:55 | Informe spam
Alejandro Mesa wrote:
Estimado te adjunto el codigo del store procedure

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

ALTER procedure Sp_GrabaGrillaResultado(
@PAR_Proyecto as numeric,
@PAR_Telefono as numeric,
@PAR_Cod_Resultado as numeric,
@PAR_Cod_C as varchar(2),
@PAR_Cod_D as varchar(2),
@PAR_Fecha_Mov as datetime)
as

SET IMPLICIT_TRANSACTIONS OFF

Update Selecciones
Set Cod_Resultado =@PAR_Cod_Resultado,
Cod_C = @PAR_Cod_C,
Cod_D = @PAR_Cod_D,
fecha_mov = @PAR_Fecha_Mov
Where Nro_Proyecto = @PAR_Proyecto
And NFon = @PAR_Telefono

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

con respecto a las preguntas
1 como es eso ?
2 no hay nada que lo indique


Mostrar la cita
recomendacion.


Mostrar la cita
base
Mostrar la cita
digitación
Mostrar la cita
esta
Mostrar la cita
32 bit,
Mostrar la cita
procedure el
Mostrar la cita
la
Mostrar la cita
otro
Mostrar la cita
lo
Mostrar la cita
adBigInt,
Mostrar la cita
el
Mostrar la cita
parte
Mostrar la cita
que
Mostrar la cita
#7 Eleazar
18/07/2005 - 20:04 | Informe spam
Hola
los campos Nro_Proyecto y NFon de que tipo son?. son del mismo que los
parametros?

"Jose Luis" escribió en el mensaje
news:%
Mostrar la cita
parametros
Mostrar la cita
esta
Mostrar la cita
32
Mostrar la cita
procedure
Mostrar la cita
la
Mostrar la cita
de
Mostrar la cita
graba
Mostrar la cita
pero
Mostrar la cita
en
Mostrar la cita
ejemplo lo
Mostrar la cita
Comando.CreateParameter("NroProyecto",
Mostrar la cita
Comando.CreateParameter("CodResultado",
Mostrar la cita
el
Mostrar la cita
siendo
Mostrar la cita
agrego
Mostrar la cita
pero
Mostrar la cita
Server
Mostrar la cita
grabo
Mostrar la cita
registros
Mostrar la cita
SERVER
Mostrar la cita
#8 jlel
19/07/2005 - 14:47 | Informe spam
Eleazar wrote:
Estimado, los campos son del mismo tipo.
JOSE LUIS


Mostrar la cita
#9 Eleazar
19/07/2005 - 15:40 | Informe spam
Hola para que utilizas ALTER PROCEDURE?

"Jose Luis" escribió en el mensaje
news:e4D%
Mostrar la cita
acaso.
Mostrar la cita
que
Mostrar la cita
mensaje
Mostrar la cita
con
Mostrar la cita
en
Mostrar la cita
3.0.32 -
Mostrar la cita
contra
Mostrar la cita
n
Mostrar la cita
deja
Mostrar la cita
solo
Mostrar la cita
grabado,
Mostrar la cita
completa.
Mostrar la cita
presenta
Mostrar la cita
registro y
Mostrar la cita
varias
Mostrar la cita
Comando.CreateParameter("Fecha_Mov",
Mostrar la cita
por
Mostrar la cita
posibles,
Mostrar la cita
mensaje de
Mostrar la cita
Ads by Google
Search Busqueda sugerida