none
Algo tan sencillo como.... conectar a una BD !! RRS feed

  • Pregunta

  • Buenas, hoy empecé el cambio desde VB 6 a VS 2010 y estoy super desanimada, no consigo avanzar en nada, algo tan sencillo como conectar con sql server soy incapaz de llevarlo acabo, llevo horas, ¿me podeis ayudar?, los pasos que sigo son los siguientes :

    1º) Creo proyecto nuevo

    2º) Agrego origen de datos , BASE DE DATOS, CONJUNTO DE DATOS  -- ¿¿¿ que es eso de entity model ??

    3º)  En origenes de datos ya me aparece la conexion y la tabla.

    4º) Arrastro los 3 campos de la tabla y voila! me crea una barra con los controles de registro atras, alante, nuevo, borrar y guardar

    5º) Ejecuto el formulario, me muestra los datos correctamente, modifico el campo nombre de MERCEDES a MERCE, pulso GUARDAR y pon! error al canto, el codigo que contiene ese boton es el siguiente :

    Me.Validate()
    Me.Prueba1BindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.PruebasVBDataSet)

    Y el error dice asi :

    Update requiere que UpdateCommand sea válido cuando se pasa la colección DataRow con filas modificadas.

    ¿Que puede estar sucediendo ?

    En visualbasic 2010 , no existe ADODC?? yo hago maravillas con ese control :(.

    • Cambiado Enrique M. Montejo sábado, 20 de octubre de 2012 11:20 acceso a datos (De:Lenguaje VB.NET)
    martes, 9 de octubre de 2012 15:55

Todas las respuestas

  • Hola,

    La verdad el cambio es gigante, no te desanimes que cambio para mucho mejor !
    Estas trabajando con asistente, lo que agiliza la tarea del desarrollo pero que complica el mantenimiento y el control del mismo :/

    Te aconsejo revisar este link, ya que tu problema no es solo de conexión a db:

    [WinForms] Edición Empleados – Grabar imagen en base de datos

    En la dirección hacen mucho enfasis en el manejo de imagenes y base de datos, pero omite eso, te interesa es ver como el compañero leandro hace una conexión con base de datos y realiza operaciones basicas a la información.


    Un saludo, Cristian Pérez

    martes, 9 de octubre de 2012 16:55
  • En visualbasic 2010 , no existe ADODC?? yo hago maravillas con ese control :(.

    hay forma de habilitarlo, pero no lo uses nunca pero nunca mas mientras estes con .net ,es posible usarlo por temas de compatibilidad con aplciaciones legacy, pero para las nuevas para nada recomendable usarlo

    ¿Que puede estar sucediendo ?

    lo que sucede es que deberias aprender algo mas de ado.net

    pero ademas si estas usando esta linea

    Me.TableAdapterManager.UpdateAll(Me.PruebasVBDataSet)

    creo que sin entender que hace realmente, porque se supone que deberias conocer que tienes un dataset tipado (archivo .xsd) asociado a un datatable que genera los comando sql por ti

    pero debes validar que el command este correcto

    lo primero investiga sobre los dataset tipados y localiza el xsd en tu proyecto, alli verifica que el datatable ue modificas tienes un tableadapter valido y actualizado

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 10 de octubre de 2012 5:16
  • Muchas gracias a ambos, indagaré mas  y seguire probando ;)
    jueves, 11 de octubre de 2012 7:08
  • Buenas, hoy empecé el cambio desde VB 6 a VS 2010 y estoy super desanimada, no consigo avanzar en nada, algo tan sencillo como conectar con sql server soy incapaz de llevarlo acabo, llevo horas, ¿me podeis ayudar?, los pasos que sigo son los siguientes :

    1º) Creo proyecto nuevo

    2º) Agrego origen de datos , BASE DE DATOS, CONJUNTO DE DATOS  -- ¿¿¿ que es eso de entity model ??

    3º)  En origenes de datos ya me aparece la conexion y la tabla.

    4º) Arrastro los 3 campos de la tabla y voila! me crea una barra con los controles de registro atras, alante, nuevo, borrar y guardar

    5º) Ejecuto el formulario, me muestra los datos correctamente, modifico el campo nombre de MERCEDES a MERCE, pulso GUARDAR y pon! error al canto, el codigo que contiene ese boton es el siguiente :

    Me.Validate()
    Me.Prueba1BindingSource.EndEdit()
    Me.TableAdapterManager.UpdateAll(Me.PruebasVBDataSet)

    Y el error dice asi :

    Update requiere que UpdateCommand sea válido cuando se pasa la colección DataRow con filas modificadas.

    ¿Que puede estar sucediendo ?

    En visualbasic 2010 , no existe ADODC?? yo hago maravillas con ese control :(.

    Hola,

    Es cierto es un cambio bastante groso, pero vale la pena te lo digo yo que hice la migracion hace un año  y hoy todo es bello, bueno te explico rapidamente, como bien dice leandro ADODC se puede poner en .net pero solo para compatibilidad, es un rollo, lo que te recomiendo es leer las estructuras de datos en .net veras que son mejor con el simple hecho de como gestionan las negociaciones de conexion, eso impacta directamente en la velocidad de recuperacion de datos y otras chucherias, en fin no hablemos de cosas tristes y veamos tu problema de forma simple...

    Me.Prueba1BindingSource.EndEdit()    '<---------------------------Tu control de desplazamiento que le dice a .net que hasterminado de editar tu Dataset
    Me.TableAdapterManager.UpdateAll(Me.PruebasVBDataSet) '<----Tu tabla que intenta actualizar tu dataset "PruebasVB"

    ¿Que es un data set?

    En terminos digeribles un conjunto de datos que puede ser desde una tabla hasta un BD (jaja, no se si se pudan hacer conjuntos de BD en un solo DS).

    Bien el error que te da al hacer tu update es que tu dataset NO tiene un comand update, para checarlo de forma facil debes editar tu dataset, ubica en tu pantalla de diseño tu dataset, señalalo y aparece una pequeña flechita en el angulo superior derecho ahi te aparece una liga que dice "editar en el diseñador de dataset" da clic ahi

    Despues se abre una ventana donde puedes la tabla que contiene los datos enlazador que se llama NombreDATASET + "TableAdapter" en mi caso "UnidadesTableAdapter" (lo que esta en azul). Despues al dar clic en la parte azul (nombre del tableadapter) se abre una ventana del lado derecho (Propiedades) donde puedes ver los command text de cada operacion FILL, UPDATE, DELETE e INSERT, ahi puedes editar los comandos SQL de cada operacion, incluso meter parametros!!

    Ojala te ayude un poco esta burda explicacion, lo que te recomendaria es que te olvides de como se manejan los datos en VB6 y leas un poco de lo nuevo de VB.Net que es lo mas fuerte en cambios (mi humilde opinion) lo demas no es tan pesado, pero eso si... una vez que lo aprendes te enamoras de como funciona todo...

    Saludos desde Mexico!!!


    CBR

    jueves, 11 de octubre de 2012 8:42