Que me Falta!!!

15/11/2006 - 19:03 por Rodrigo Pizarro | Informe spam
Señores

el resultado de un proceso almacenado necesito llevarlo a una tabla de una
base de datos Access

estoy utilizando el metodo "ImportRow" para copiar los datos entre los data
set, hasta alli bien pero cuando realizao la actualizacion en la tabla no se
copia ningun registro solo lo hace en memoria


aqui les dejo el procedimiento para hacerlo mas grafico y ojala alguien me
pueda ayudar!!!

MyCn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=c:\Orden_Impresion_CM.mdb"

MyCn.Open()

MyCmd.CommandText = "Delete from TB_ORDEN_IMPRESION"

MyCmd.CommandType = CommandType.Text

MyCmd.Connection = MyCn

MyCmd.ExecuteNonQuery()

MyCmd.Dispose()

MyCmd.CommandText = "TB_ORDEN_IMPRESION"

MyCmd.CommandType = CommandType.TableDirect

MyCmd.Connection = MyCn

Dim myDA As New OleDb.OleDbDataAdapter(MyCmd)

myDA.Fill(tbl_st, "TB_ORDEN_IMPRESION")

cant = tbl_SQL.Rows.Count - 1

For ind = 0 To cant

tbl_st.Tables("TB_ORDEN_IMPRESION").ImportRow(tbl_SQL.Rows(ind))

Next

'HASTA AQUI ESTAMOS BIEN

Try

myDA.Update(tbl_st, "TB_ORDEN_IMPRESION") 'SE SUPONE QUE CON ESTA
INSTRUCCION TODAS LAS FILAS QUE INSERTE EN MEMORIA DEBERIAN DESPUES
REFLEJARSE EN LA MDB Y NO LO HACE

Catch ex As Exception

MessageBox.Show("Ha Ocurrido el Siguiente Error :" & ex.Message, "Atención",
MessageBoxButtons.OK, MessageBoxIcon.Error)

End Try

MyCn.Close()

Preguntas similare

Leer las respuestas

#1 Diego Cofré
16/11/2006 - 16:15 | Informe spam
Rodrigo:
Te falta definir cual van a ser los comandos de insert (InsertCommand) y
update (UpdateCommand) en el DataAdapter. Recuerda que cuando llamas al
metodo update de un DataAdapter, lo que hace es llamar al comando de Update
para las filas que fueron modificadas y al de insert para la filas nuevas.

Saludos.

Lic. Diego Cofré
Desarrollador
EWAVE GROUP S.A
www.e-wavegroup.com
Respuesta Responder a este mensaje
#2 Rodrigo Pizarro
16/11/2006 - 16:31 | Informe spam
Diego , muchas gracias por tu Tiempo,

agregue este codigo al script que envie anteriormente, pero aun asi, no se
logran insertar los registros en al Access?

es correcta esta forma para realizar el insert en la tabla access? a traves
de un insertcommand?

Saludos Rodrigo



Script

SQLQ = "INSERT INTO TB_ORDEN_IMPRESION ( COD_ORD_INTER, CODIGO_CARGA,
NUM_ODT_ZAR, NUM_MOVIL, "

SQLQ = SQLQ & " NCLIENTE, NSECTOR, NZONA, NRUTA, DV_RUTA, DIR_CLIENTE,
INFO_ADICIONAL, LEC_MED_EXI, "

SQLQ = SQLQ & " COD_DIAMETRO_EXI, COD_MARCA_EXI, NUM_MED_EXI,
OBSERVACION_EXISTENTE, NOM_COMUNA, "

SQLQ = SQLQ & " MOT_TRABAJO, FEC_GENERACION )"

SQLQ = SQLQ & " VALUES (@COD_ORD_INTER, @CODIGO_CARGA, @NUM_ODT_ZAR,
@NUM_MOVIL, "

SQLQ = SQLQ & " @NCLIENTE, @NSECTOR, @NZONA, @NRUTA, @DV_RUTA, @DIR_CLIENTE,
@INFO_ADICIONAL, @LEC_MED_EXI, "

SQLQ = SQLQ & " @COD_DIAMETRO_EXI, @COD_MARCA_EXI, @NUM_MED_EXI,
@OBSERVACION_EXISTENTE, @NOM_COMUNA,"

SQLQ = SQLQ & " @MOT_TRABAJO, @FEC_GENERACION)"

InsCmd.Connection = MyCn

InsCmd.CommandText = SQLQ

InsCmd.Parameters.Add("@COD_ORD_INTER", OleDbType.Integer, 10,
"COD_ORD_INTER")

InsCmd.Parameters.Add("@CODIGO_CARGA", OleDbType.VarChar, 30,
"CODIGO_CARGA")

InsCmd.Parameters.Add("@NUM_ODT_ZAR", OleDbType.Integer, 10, "NUM_ODT_ZAR")

InsCmd.Parameters.Add("@NUM_MOVIL", OleDbType.Integer, 10, "NUM_MOVIL")

InsCmd.Parameters.Add("@NCLIENTE", OleDbType.Integer, 10, "NCLIENTE")

InsCmd.Parameters.Add("@NSECTOR", OleDbType.Integer, 10, "NSECTOR")

InsCmd.Parameters.Add("@NZONA", OleDbType.Integer, 10, "NZONA")

InsCmd.Parameters.Add("@NRUTA", OleDbType.Integer, 10, "NRUTA")

InsCmd.Parameters.Add("@DV_RUTA", OleDbType.VarChar, 1, "DV_RUTA")

InsCmd.Parameters.Add("@DIR_CLIENTE", OleDbType.VarChar, 45, "DIR_CLIENTE")

InsCmd.Parameters.Add("@INFO_ADICIONAL", OleDbType.VarChar, 33,
"INFO_ADICIONAL")

InsCmd.Parameters.Add("@LEC_MED_EXI", OleDbType.Integer, 10, "LEC_MED_EXI")

InsCmd.Parameters.Add("@COD_DIAMETRO_EXI", OleDbType.Integer, 10,
"COD_DIAMETRO_EXI")

InsCmd.Parameters.Add("@COD_MARCA_EXI", OleDbType.VarChar, 2,
"COD_MARCA_EXI")

InsCmd.Parameters.Add("@NUM_MED_EXI", OleDbType.Integer, 10, "NUM_MED_EXI")

InsCmd.Parameters.Add("@OBSERVACION_EXISTENTE", OleDbType.VarChar, 100,
"OBSERVACION_EXISTENTE")

InsCmd.Parameters.Add("@NOM_COMUNA", OleDbType.VarChar, 30, "NOM_COMUNA")

InsCmd.Parameters.Add("@MOT_TRABAJO", OleDbType.VarChar, 12, "MOT_TRABAJO")

InsCmd.Parameters.Add("@FEC_GENERACION", OleDbType.DBDate, 23,
"FEC_GENERACION")

myDA.InsertCommand = InsCmd



"Diego Cofré" escribió en el mensaje
news:
Rodrigo:
Te falta definir cual van a ser los comandos de insert (InsertCommand) y
update (UpdateCommand) en el DataAdapter. Recuerda que cuando llamas al
metodo update de un DataAdapter, lo que hace es llamar al comando de
Update
para las filas que fueron modificadas y al de insert para la filas nuevas.

Saludos.

Lic. Diego Cofré
Desarrollador
EWAVE GROUP S.A
www.e-wavegroup.com


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida