weno al final lo q he hecho ha sido crear un datatable, dos conexiones y dos métodos. Con uno de los métodos meto en el datatable la base de datos que quiero copiar entera. Esto me lo hace bien.
con el otro método lo que quiero hacer es ir actualizando fila a fila las columnas q me interesen, pero me da el error:
"no se puede actualizar no se han especificado valores para algunos de los parámetros requeridos"
este es el código del método que me falla
Código:
Public Shared Sub actualizaBD1()
'Objeto de comando que permite la manipulación de la base de datos
Dim objAcciones1 As New OleDbCommand
'tabla de datos utilizada por este método
Dim dtBD1 As DataTable
'Objeto adaptador
Dim objAdaptador
'Objeto que permite actualizar la base de datos
Dim OleDbUpdateCommand As OleDbCommand = New OleDbCommand
'Variable de bucle
Dim i As Integer
'Para manejar las filas de la base de datos
Dim fila As Integer
'Para conocer el número de filas
Dim n As Integer
Dim n2 As Integer
'Cadenas temporales para las variables de la base de datos
Dim sDescripcion As String
Dim sValor As String
Dim sVisibilidadLabel As String
Dim sVisibilidadTA As String
Dim sID As String
Dim sTexto As String
Dim sVisible As Boolean
Dim sTamanno As String
Dim eti As String
If File.Exists(ruta) Then
Try
ObjCactualizaBD1.Open()
objAdaptador = New OleDbDataAdapter("SELECT * FROM Etiquetas ORDER BY ID", ObjCactualizaBD1)
objAcciones1.Connection() = ObjCactualizaBD1
OleDbUpdateCommand.Connection = ObjCactualizaBD1
dtBD1 = New DataTable
objAdaptador.fill(dtBD1)
n = dtBD1.Rows.Count
n2 = dtBD2.Rows.Count
MessageBox.Show(dtBD2.Rows(0)("valor").ToString) -- con esta línea sólo compruebo que el datatable tiene datos efectivamente
If n = 0 Then
MessageBox.Show("No se ha encontrado ningún registro que coincida con la selección", "Aviso")
Else
'Actualiza la línea de la base de datos asociada al campo de texto
While fila <= n
For i = 0 To i = n2
sID = dtBD2.Rows(fila)("ID").ToString
sDescripcion = dtBD2.Rows(fila)("descripcion").ToString
OleDbUpdateCommand.CommandText = "UPDATE Propiedades " & "SET descripcion = " & sDescripcion & " WHERE ID = " & sID
OleDbUpdateCommand.ExecuteNonQuery()
Next
End While
End If
Catch ex As Exception
MessageBox.Show(Err.Description, "Aviso")
Finally
ObjCactualizaBD1.Close()
End Try
Else
MessageBox.Show("No hay una base de datos cargada en este momento, por favor cargue una y vuelva a intentarlo", "Aviso")
End If
End Sub
weno a ver si veis algo raro a mi me duele la cabeza ya de darle vueltas jejejeje
saludines y a disfrutar del finde!!! Besis