Bueno tengo el siguiente problema:
estoy cargando datos de un archivo y cuando los cargo los voy insertando o actualizando en la BD a traves de un Procedimiento almacenado.. el problema es el siguiente:
Set Rec_Bdcas = ConMideplan.OpenRecordset(Sql, dbOpenSnapshot)
Dim objcmd As ADODB.Command
Dim objconn As ADODB.Connection
Dim estado_ficha As String
estado_ficha = V
Set objconn = New ADODB.Connection
objconn.ConnectionString = "provider=SQLOLEDB.1;password=somela2005;persi st security info=true;user ID=sa;initial catalog=bd_cas;data source=PC_DSOTO"
objconn.Open
Set objcmd = New ADODB.Command
If Rec_Bdcas.EOF = False Then
objcmd.CommandType = adCmdStoredProc
objcmd.CommandText = "update_t_cara_c"
Set objcmd.ActiveConnection = objconn
objcmd.Parameters.Append objcmd.CreateParameter("@tenencia", adInteger, adParamInput, 4, Archivo_Mideplan(pos).TENENC1)
objcmd.Parameters.Append objcmd.CreateParameter("@puntaje", adInteger, adParamInput, 4, Archivo_Mideplan(pos).PUNTAJE)
objcmd.Parameters.Append objcmd.CreateParameter("@est_ficha", adVarChar, adParamInput, 1, estado_ficha)
'objcmd.Parameters.Append objcmd.CreateParameter("@urb_rural", adVarChar, adParamInput, 1,
objcmd.Parameters.Append objcmd.CreateParameter("@un_vecinal", adVarChar, adParamInput, 3, Archivo_Mideplan(pos).C_UV)
objcmd.Parameters.Append objcmd.CreateParameter("@c_poblacion", adInteger, adParamInput, 4, Archivo_Mideplan(pos).C_CODIGO)
objcmd.Parameters.Append objcmd.CreateParameter("@c_calle", adInteger, adParamInput, 4, Archivo_Mideplan(pos).C_CALLE)
objcmd.Parameters.Append objcmd.CreateParameter("@region", adSmallInt, adParamInput, 2, Archivo_Mideplan(pos).C_Region)
objcmd.Parameters.Append objcmd.CreateParameter("@provincia", adSmallInt, adParamInput, 2, Archivo_Mideplan(pos).C_Provin)
objcmd.Parameters.Append objcmd.CreateParameter("@comuna", adSmallInt, adParamInput, 2, Archivo_Mideplan(pos).C_Comuna)
objcmd.Parameters.Append objcmd.CreateParameter("@folio", adInteger, adParamInput, 4, Archivo_Mideplan(pos).Folio)
objcmd.Execute
Set objcmd = Nothing
Set objconn = Nothing
Else
'-----------------------------------------------------------------------------------
'PROCEDURE 6.- INSERT tabla t_cara_c
objcmd.CommandType = adCmdStoredProc
objcmd.CommandText = "insert_t_cara_c"
Set objcmd.ActiveConnection = objconn
objcmd.Parameters.Append objcmd.CreateParameter("@region", adSmallInt, adParamInput, 2, Archivo_Mideplan(pos).C_Region)
objcmd.Parameters.Append objcmd.CreateParameter("@provincia", adSmallInt, adParamInput, 2, Archivo_Mideplan(pos).C_Provin)
objcmd.Parameters.Append objcmd.CreateParameter("@comuna", adSmallInt, adParamInput, 2, Archivo_Mideplan(pos).C_Comuna)
objcmd.Parameters.Append objcmd.CreateParameter("@folio", adInteger, adParamInput, 4, Archivo_Mideplan(pos).Folio)
objcmd.Parameters.Append objcmd.CreateParameter("@person", adInteger, adParamInput, 4, Archivo_Mideplan(pos).C_PERSON)
objcmd.Parameters.Append objcmd.CreateParameter("@tenencia", adInteger, adParamInput, 4, Archivo_Mideplan(pos).TENENC1)
objcmd.Parameters.Append objcmd.CreateParameter("@puntaje", adInteger, adParamInput, 4, Archivo_Mideplan(pos).PUNTAJE)
objcmd.Parameters.Append objcmd.CreateParameter("@est_ficha", adVarChar, adParamInput, 1, estado_ficha2)
'objcmd.Parameters.Append objcmd.CreateParameter("@urb_rural", adVarChar, adParamInput, 1,
objcmd.Parameters.Append objcmd.CreateParameter("@un_vecinal", adVarChar, adParamInput, 3, Archivo_Mideplan(pos).C_UV)
objcmd.Parameters.Append objcmd.CreateParameter("@c_poblacion", adInteger, adParamInput, 4, Archivo_Mideplan(pos).C_CODIGO)
objcmd.Parameters.Append objcmd.CreateParameter("@c_calle", adInteger, adParamInput, 4, Archivo_Mideplan(pos).C_CALLE)
MsgBox ("Insert")
objcmd.Execute
Set objcmd = Nothing
Set objconn = Nothing
EL SP de INSERT
ALTER procedure insert_t_cara_c
@region smallint,
@provincia smallint,
@comuna smallint,
@folio integer,
@person integer,
@tenencia integer,
@puntaje integer,
@est_ficha varchar,
@urb_rural varchar,
@un_vecinal varchar,
@c_poblacion integer,
@c_calle integer
as
BEGIN
SELECT @urb_rural = dc_urbano_rural FROM t_calles
WHERE dc_Region = @region
AND dc_Provincia = @provincia
AND dc_Comuna = @comuna
AND dc_Calle = @c_calle
IF (@urb_rural = null)
BEGIN
SET @urb_rural = 1
END
INSERT INTO t_cara_c
(DC_Region, dc_Provincia, DC_Comuna, DC_Folio, dc_familia, di_Situacion_sitio,
di_Ptje_Factor_Total, dg_estado_ficha, dc_urbano_rural, dc_unidad_vecinal, dc_poblacion, dc_calle)
VALUES
(@region, @provincia, @comuna, @folio, @person, @tenencia, @puntaje, @est_ficha, @urb_rural,
@un_vecinal, @c_poblacion, @c_calle)
END
EL SP de UPDATE
ALTER procedure update_t_cara_c
@tenencia integer,
@puntaje integer,
@est_ficha varchar,
@urb_rural varchar,
@un_vecinal varchar,
@c_poblacion integer,
@c_calle integer,
@region smallint,
@provincia smallint,
@comuna smallint,
@folio integer
as
BEGIN
SELECT @urb_rural = dc_urbano_rural FROM t_calles
WHERE dc_Region = @region
AND dc_Provincia = @provincia
AND dc_Comuna = @comuna
AND dc_Calle = @c_calle
IF (@urb_rural = null)
BEGIN
SET @urb_rural = 1
END
UPDATE t_cara_c SET
di_situacion_sitio = @tenencia,
di_Ptje_Factor_Total = @puntaje,
dg_estado_ficha = @est_ficha,
dc_urbano_rural = @urb_rural,
dc_unidad_vecinal = @un_vecinal,
dc_poblacion = @c_poblacion,
dc_calle = @c_calle
WHERE dc_Region = @region
AND dc_Provincia = @provincia
AND dc_Comuna = @comuna
AND dc_Folio = @folio
END
Si alguien me puede decir como arreglarlo ya que no inserta.. no se si tengo el problema en el SP o codigo .. agradezco la ayuda desde ya