• Sábado 27 de Abril de 2024, 01:14

Autor Tema:  Migrando Codigo De Vb6 A Vb.net  (Leído 2058 veces)

   

  • Miembro activo
  • **
  • Mensajes: 39
    • Ver Perfil
Migrando Codigo De Vb6 A Vb.net
« en: Sábado 29 de Mayo de 2004, 01:37 »
0
Buenas noches.

Desearía conocer (si es muy amable) el que me indicara la sintaxis con respecto a migrar código VB6 a VB.NET con respecto a Bases de Datos mdb.  Al igual que la referencia para la misma.

Código: Text
  1.  
  2. Dim BD As Database
  3. Dim Rs As Recordset
  4.  
  5.  

Código: Text
  1.  
  2. Set BD = OpenDatabase(App.Path + \BaseDatos.mdb")
  3. Set Rs = BD.OpenRecordset(sentencia sql)
  4.  
  5.  

Código: Text
  1.  
  2. 'Almacenar:
  3. Rs.AddNew
  4. Rs!Campo = TextBox1
  5. Rs.Update
  6. MsgBox "Almacenado"
  7.  
  8.  

Código: Text
  1.  
  2. 'Consulta:
  3. Rs.MoveFirst
  4. While Not Rs.EOF
  5.     If TextBox = Rs!Campo Then
  6.        TextBox = Rs!Campo
  7.        Exit Sub
  8.     End If
  9.     Rs.MoveNext
  10. Wend
  11. MsgBox "No Encontrado"
  12.  
  13.  

Código: Text
  1.  
  2. 'Actualizacion:
  3. Rs.MoveFirst
  4. While Not Rs.EOF
  5.    If TextBox = Rs!Campo Then
  6.       If MsgBox("¿Actualizar?, vbYesNo, "Confirma") = vbNo Then
  7.          Exit Sub
  8.       Else
  9.          Rs.Edit
  10.          Rs!Campo = TextBox
  11.          Rs.Update
  12.          MsgBox("Actualizado")
  13.          Exit Sub
  14.       End If
  15.    End If
  16.    Rs.MoveNext
  17. Wend
  18. MsgBox "No Encontrado"
  19.  
  20.  


Código: Text
  1.  
  2. 'Suprimir:
  3. Rs.MoveFirst
  4. While Not Rs.EOF
  5.    If TextBox = Rs!Campo Then
  6.       If MsgBox("¿Borrar?, vbYesNo, "Confirma") = vbNo Then
  7.          Exit Sub
  8.       Else
  9.          TextBox = ""
  10.          MsgBox("Borrado")
  11.          Exit Sub
  12.       End If
  13.    End If
  14.    Rs.MoveNext
  15. Wend
  16. MsgBox "No Encontrado"
  17.  
  18.  

Aunque esta codificación es de DAO, se entiende que en Visual Studio .NET los asistentes y el entorno de la plataforma .NET ya no admiten DAO (aunque las clases DAO están incluidas y todavía se pueden utilizar) como objetos COM con respecto a aplicaciones de VB6 que utilicen DAO y Microsoft recomiendo mejor el uso de Plantillas  OLE DB y ODBC para los proyectos nuevos.  La codificación de ADO que he manejado se parece mucho al perfil de DAO a diferencia de la forma como se declara la conexión.  El objeto de esto, es encontrar una forma de codificar lo más parecida posible a este perfil, pero orientado a la nueva escritura del ADO .NET

Muchas Gracias.

   

  • Miembro activo
  • **
  • Mensajes: 39
    • Ver Perfil
Re: Migrando Codigo De Vb6 A Vb.net
« Respuesta #1 en: Miércoles 2 de Junio de 2004, 02:42 »
0
Buenas noches,

Me comunico con ustedes en la ayuda de poder corregir un error que evita que no pueda almacenarse la información del DataSet a la base de datos, siguiendo con la migración de VB6 a VB.NET.
La escritura está dirigida a una base de datos Access con codificación OleDb:

Código: Text
  1.  
  2. Dim conex As New OleDbConnection
  3.  
  4. conex.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & _ "C:\Carpeta\BaseDatos.mdb"
  5. conex.Open()
  6. Dim SQL As String = "sentencia sql"
  7. Dim Adaptador As OleDbDataAdapter = New OleDbDataAdapter(SQL, conex)
  8. Dim Datos As DataSet = New DataSet
  9.  
  10. 'Cargando de datos al DataSet:
  11. Adaptador.Fill(Datos, "Tabla")
  12.  
  13. 'Guardando en la Tabla el contenido del DataSet:
  14. Dim Tabla As DataTable = Datos.Tables("Tabla")
  15. 'Creando Fila:
  16. Dim Fila As DataRow = Tabla.NewRow
  17.  
  18. 'Colocando los datos en la fila:
  19. Fila("Campo1") = TextCampo1.Text
  20. Fila("Campo2") = TextCampo2.Text
  21. Fila("Campo3") = TextCampo3.Text
  22. Fila("Campo4") = TextCampo4.Text
  23.  
  24. 'Guardando la Fila en la Tabla:
  25. Tabla.Rows.Add(Fila)
  26.  
  27. 'Ejecutando comando Builder:
  28. Dim Comando As OleDb.OleDbCommandBuilder = New OleDb.OleDbCommandBuilder(Adaptador)
  29. Try
  30.      'Usando el método Update para actualizar la base de datos con el contenido
  31.      'del DataSet:
  32.      Adaptador.Update(Datos, "Tabla")
  33. Catch eUpdate As System.Exception
  34.      System.Windows.Forms.MessageBox.Show(eUpdate.Message)
  35. End Try
  36.  
  37.  

La codificación del DataReader funciona perfectamente realizando consulta de los registros alojados en la base de datos (datos ingresados directamente en Access).

Citar
Error:
El error sucede en la última línea: Adaptador.Update(Datos, "Tabla")
Fue ingresado en un Try-End Try para obtener un mensaje de error del siguiente tipo:  "Error de sintaxis en INSERT INTO"

¿a qué podría ser debido este problema?

Muchas gracias.
un Saludo.