Hola a todos los lectores de Nuevo ahoa les tarigo un temas algo mas avnzado.. espero les guste much gente se esta iniciando en el desarrollo con .NET hoy en dia es importante saber como acceder a datos desde visual Basic .NET para empezar lo primero son los recursos.
REQUISITOS A TENER INSTALADO EN SU COMPUTADOR:
VISUAL BASIC 2005/2008 Express Editions /si tienes acceso a la profesional mejor.
http://www.microsoft.com/express/vb/Default.aspx
SQL Server 2005 Express Editions
http://www.microsoft.com/Sqlserver/2005/en/us/express.aspx
(Si quieren descargan de esta misma pagina el Management Studio aunque todo lo que se hara en esta practica se realizara directamente desde Visual Basic.net)
Vamos a trabajar por pasos el primero paso por supuesto es abrir VISUAL BASIC.NET.
Justo en esa imagen pueden ver como yo estoy agregando un nuevo proyecto seleccionen Aplicacion de Windows Form y le colocan un nombre en mi caso yo le coloque «Accesoadatos» ustedes le pueden colocar el nombre que quieran
Ya al tener este paso cumplido vamos a observar que no queda una panalla donde diseñar nuestro sistema con una pantalla principal llamada Form1:
Ok luego nos vamos a ir al Explorador de soluciones que es donde se van a encontrar todos los elemntos de tu proyecto de programacion para abrir el explorador de soluciones lo puedes encontrar del lado derecho o si no esta activo puedes ir al MENU ver y activas la que dice Explorador de Objetos. A lo que lo tengan activo van a presionar click derecho sobre el nombre de su solucion en mi caso fue «Accesoadatos» (presiono click derecho) y selecciono Agregar Nuevo elemento.
En la lista que aparece para agregar nuevos elementos a nuestro proyecto debelos seleccionar el ojeto Base de datos basada en servicio para poder tener una base de datos donde almacenas y funciones bajo windows la otra opcion muy parecida se utiliza para base de datos para aplicaciones Moviles.. por ellos no seleccionamos bases de datos local, debes cuidar que la extension del archivo que agregas a la solucion es .MDF asi estaras mas seguro cambia el nombre de la base de datos a tu gusto en mi caso le coloque BDejemplo.mdf aqui pueder ver el ejemplo en pantalla:
al darle al boton agregar va a hacer unos procesos y va a aparecer un asistente para base de datos al cual debes darle acepar de lo contrario ese asistente creara un Dataset Tipaso propio y lo ideal es que tu sepas como agregarlo manualmente. Una vez que ya nuestra base de datos esta creada procedemos a darle desde el explorador de objetos dos veces click a la base de datos para poder visualizar del lado izquierdo el Explorador de base de datos muy importante para crear nuestras tablas y procedimientos te fijaras que hay una parte que dice TABLAS presionando click derecho y seleccionar agregar nueva Tabla lo puedes ver en la siguiente imagen:
ya al precionas podemos agregar los campos que tendra nuestra tabla para hacerlo mas sencillo vamos a agrega solo tres campos de manera que exliquemos hoy como agregar un elemento y como mostrar los datos de la tabla. Los Campos sera Cedula que sera un campo clave, nombre y apellido. Ningun va a permitir valos nulo la cedula sera de tipo numerico y nombre y apellido nvarchar(50). Lo pueden ver en la imagen:
solo queda precionar salir y te pedira que guardes la tabla con el nombre que tu quieras en mi caso le coloque alumnos,ahora procedemos a agregar unos datos de ejemplo a nuestra tabla asi como agregamos nueva tabla: le van a dar click derecho al nombre de la tabla que acaban de agregar y le dan a la Opcion Mostrar datos de tabla hay prodran agregar algunos datos de ejemplo.
Solo queda presionar guardar y ahora es hora de diseñar el formulario para poder dar el ejemplo solamente se usaran los siguientes controles: Un Datagrig para mostrar los datos tres Botones uno para guardar otro para cargar los datos y otro para salir del sistema, tres textbox para agregar los tres datos de la base de datos de ejemplo y tres label para identificar a que dato corresponde cada textbox. Para ello debemos hacer uso del cuadro de herramientas para agregar los controles al formulario se puede ver del lado izquierdo y si no esta activo pueden ir al menu Ver y activar Cuadro de herramientas.
Aqui como puede observar ya he agregado los controles, les recuerdo que .NET es Orientado a objetos y todo objeto tiene sus propiedades estados y metodos.. por ellos es importante sabes con que propiedades vamos a trabajar la mayoria de los controles encontramos en sus propiedades valga la redundacia la proiedad TEXT y la propiedad NAME text en el nombre que se va a visualizar y NAME el nombre como se reconocera programaticamente ese objeto las propiedades las podemos observar del lad Derecho al momento de seleccionar uno o varios objetos si no salen puedes ir al menu ver y activas ventana propiedades.
si pueden observar modifique la propiedad TEXT de los label para identificar que dato va en cada textbox y y los nombres de cada boton ahora vienen haciendo a la propiedad name que no va a producir ningun cambio solo lo veran mas adelante como ejemplo deben saber que cada control tiene un nombre clave para saber que tipo es por ejemplo los Label lleval LBL los textboc llevan TXT y los botones CMD si quiero identificar los tres notones y los tres textbox programaticamente modifico la propiedad name de cada uno y usaria TXTcedula, TXTnombre. TXTapellido, CMDguardar, CMDsalir, CMDcargar y aun falta el datagrig yo personalmente le coloco DGW es decir en este caso le colocaria DGWdatos. de esta menera estaran organizados los nombres programaticamente y mas adelante veran la importancia de hacer esto.
Ahora toca agregar un sistemas de tipos a nuestro proyecto al igual que agregamos la base de datos vamos a presionar en el Explorardor de soluciones click derecho sobre el nombre de nuestro proyecto y agregar un nuevo elemento, es este caso debemos agregar un conjunto de datos que tiene extension .XSD por nombre yo le coloque DSprueba ustedes le colocal el nombre que ustedes quieran una vez que agregamos su nombre le damos agregar:
una vez que agrgamos aparecera una pantalla de fondo celeste con el siguiente mensaje:
Utilice el diseñador de base de datos para trabajar con un conjunto de tablas con tipo
Solo queda arrastras la tabla que creamos a ese diseñador de datos con tipo:
Una ves agregada nos aparecera la tabla con sus campos y en la parte de abajo metodos para buscar esos datos donde a este vamos a agregar dos consultas de las cuales una ya la tiene por defecto y la otra es para guardar los datos es decir vamos a usar sentencias TRANSAC SQL para insert y para select. quiza te sea un poco extraño esto pero poco a poco te vas acostubrando solo es cosa de practicar querer aprender y no tenerle miedo , el metodo que se agrega or defecto se llama FILL,Getdata a este metodo le vamos presionar click derecho y le damos a la opcion agregar conculta,
Al presionar esta opcion tendremos un asistente que nos ayudara con esto del tractac SQL que ya les voy a explicar.. la primera opcion que sale s es que si queremos crear un sentencia SQL, un procedimiento almacenado y un procedimiento almacenado ya existente por experiencia es mejor usar procedimientos almacenados los invito a que investigues sobre ellos son recomendados en las buenas practicas de programacion y acceso a datos en si todos vamos a elegir la segunda opcion y nos saldra entonces la siguiente pantalla:
donde podran ver que la primera opcion es un select que devuelve una fila en este caso es si quieres el valos de una o varias filas dependiento del dato que desees por ejemplo dame el dato donde la celula sea tal, en este ejemplo solo obtendras un resultado por que es imposible hayan dos personas con el mismo numero de cedula pero si fuera apelldido si es posible tener mas de dos resultados esta es la que usaremos pero ya por defecto ya esta realizado, en el segusdo caso es un Select que devuelve un solo valor: en esta opcion podran optener resultados como cuantos registros tienen en su tabla hacer una suma de una columna que contenga valores como sueldos entre otras esta no la usaremos en este caso, en el tercer caso es un UPDATE se utiliza para actualizar datos de un registri que ya existe es decir la funcion MODIFICAR, para el cuarto se trata de un DELETE logicamente se utiliza para eliminar registros de la tabla y por ultimo un INSERT es lo mismo que guardar datos y es el que utilizaremos para darle funcion al boton guardar asi que este es el que vamos a seleccionary visualizaras luego la siguiente pantalla:
esta es la consulta o TRANSAC SQL si no estas de acuerdo con lo que el asistente hizo puedes modificarlo y personalizarlo presionando GENERADOR DE CONCULTAS. En tra ocacion explico mas profundamente esta parte al presionar generador de conculta le dan aceptar para mejorar esa consulta sql que debe quedar de esta forma para los datos que trabajo y nombre de la tabla
INSERT INTO Alumnos
(Cedula, Nombre, Apellido)
VALUES (@Cedula,@Nombre,@Apellido)
si aparece algo mas luego de precionar aceptar sobre el generador de consulta borrenlo y deje solo esto que les coloque normalmente se agrega algo como esto
SELECT Cedula, Nombre, Apellido FROM Alumnos WHERE (Cedula = @Cedula)
y se utiliza para que luego de agregar los datos llamarlos de una vez pero en este caso no lo vamos a usar.
luego de presionar en siguiente solo les pedira el nombre del procedimiento almacenado y el nombre de la función ya listo ya tenemos nuestro diseñador de dataset con dos funciones una que se agrego por defecto llama da fill,GET y la segunda agregada por nosotros para guardar datos llamada en mi caso le coloque como nombre INSERALUM ustedes pueden colocarle el que quiera pero este nombre lo utilizaremos mas adelante. Asi nos debe quedar nuestro dataset en el diseñador.
Ahora toga agregar codigo a los botones lo primero que haremos es agregar codigo al boton guardar le dareos dos veces click para ir al evento click de ese boton asi a lo que presionesmo click se ejjecutara el codigo que le coloquemos, Debemos aprender como llamar a los datos de un Dataset Tipados Basicamente hay que hacer dos instanciar de nuevo programacion orientada a objetos ests datos estas almacenados en unas clases que crea visual studio debemos llamar a esas clases para que nos permita trabajar con los metodos iseralum y FILL para ellos se agrega el siguiente codigo:
Dim
ds As New DSprueba.AlumnosDataTable Dim dt As NewDSpruebaTableAdapters.AlumnosTableAdapter
Quiza lo puedan ver mejor desde la imagen:
se seclararon dos variables ds y dt dt es la que usaremos para acceder al metono inseralumn agregando el codigo
dt.insertalum(TXTcedula.Text, TXTnombre.Text, TXTapellido.Text)
en la imagen notamos como a agregar el codigo dt.inseralum( nos ayuda a ver que valores debemos agregar pidiendonos cedula, nombre y apellido, hay es donde se justifica el por que agregar nombre programaico a cada text box ya con solo hacer esto el boton guardar funciona vamos a agrega el metodo fill al boton cargar debemos hacer lo mismo si queremos lo que hacemos es sacar las primeras dos lineas de codigo para que funcione generalmente para cualquier boton asi solo agregamos el sigiente codigo presionando dos veces click en el boton cargar.
dt.Fill(ds.alumnos)
DGWdatos.DataSource = ds.alumnos
De esta manera al presionar sobre el boton gargar el datagrig se llenara de los datos de la tabla alumnos solo falta el boton salir presiona dos veces click y presiones el codigo
End
Espero les haya gusta proto les coloco el codigo completo y el para que descargen el ejemplo espero que les haya servido de mucho a quiene lo lean.
10 octubre, 2009 en 5:04 PM
Me agrega la fila en el datagrig pero no en la tabla
14 octubre, 2009 en 3:12 AM
Un saludo lo felicito por el trabajo desarrollado
yo Pienso que el conocimiento debe ser compartido sin ponerle tantas trabas y buscando que semultiplique,,,,
Gracias tan pronto apreda real,izare lo mismo de usted.
Mil gracias
Omar
11 noviembre, 2009 en 2:09 PM
nada mal..pero podrias poner como hacerlo sin asistente…?
16 diciembre, 2009 en 11:51 PM
eso va. estoy en deuda contigo pronto montare eso
9 May, 2010 en 1:21 AM
Hola!
Hice este ejmplo y en lo último me sale un error: ‘alumnos’ no es un miembro de ‘Accesoadatos.DSprueba.alumnosDataTable’, por favor ¿qué puede ser? ¿cómo se corrige?
10 julio, 2010 en 5:00 AM
hola lo que pasa es que necesito un codigo donde le dija que me busque los regristo por cedula, lo que pasa es que poco se de programacion y tengo que hacer un trabajo donde realize esa busqueda gracias….
eso si necesito esa ayuda urgente gracias…
25 julio, 2010 en 5:15 PM
Hola angui disculpame ver el comentario tan tarde eh estado bastante ocupado pero ya sali de vacaciones y puedo dedicarle un poco al blog esta prometido para ti hacer un articulo que te permita realizar esa funsion
4 noviembre, 2010 en 3:24 AM
buenísimo justo lo que andaba buscando
4 noviembre, 2010 en 1:18 PM
Que buenop que te guste luego coloco mejores practicas para accesar a datos..
5 octubre, 2011 en 4:55 PM
Hola,
necesito guardar el contenido de un richtextbox (que contiene texto he imagenes) en un campo binario de una base de datos sql server 2008 utilizando este ejemplo y no hay caso. Me podrán ayudar? mi correo es adrian.boaglio@gmail.com.
Saludos.
13 octubre, 2011 en 4:34 PM
Hola amigo nunca he trabajado enello pero entiendo muy bien lo que quieres hacer te doy estos link a ver si te pueden ayudar..
http://msdn.microsoft.com/es-es/library/hcwk58k6(v=VS.80).aspx (Información egeneral sobre la clase)
Hay forma de guardarlo en un Stream Mira a ver si de Stream puedes pasarlo a binario deberia de ser posible.. Esto lo vez acá:
http://msdn.microsoft.com/es-es/library/system.windows.forms.richtextbox.savefile(v=VS.80).aspx
11 febrero, 2012 en 10:24 PM
se necesita q se tenga instalado el sqlserver en la pc para q se pueda realizar la conexion con la bd????????????
15 abril, 2012 en 5:19 PM
Hola esta bueno pero no agrega los datos a la tabla… despues le doy doble click a la base de datos le doy a que muestre datos de la tabla y no muestra el nuevo dato agregado
20 abril, 2012 en 8:20 AM
Luego revisare bien igualmente para ayudarte a ver lo que sucede..
15 abril, 2012 en 5:20 PM
Hola esta muy bueno pero no agrega datos a la tabla…. despues le doy doble click a la base de datos le doy click derecho mostrar datos datos de tabla y no me muestra el nuevo dato agregado a que se debera?
20 abril, 2012 en 8:19 AM
Quiza se deba a que a veces solo se agregar datos con fines de prueba quiza si colocas el proyecto el Release podras ver los datos, a mi tambien me sucedio eso hace tiempo y lo soluciones asi.. me cuentas
20 abril, 2012 en 9:56 AM
En realidad no lo probe con Release porque nose que es eso…. pero alguien más arriba comento que eran datos de prueba y tiene razón…. mientras programas y vas probando se crea un ejecutable en la carpeta debug… y cada vez que compilas esta «nueva compilación» pisa a la que ya estaba por lo que tus datos se borran…. una manera de probarlo es compila y graba algunos datos después cierra la aplicación y compila nuevamente sin haberle hecho cambios al sistema verás que todavía están los datos, pero si le haces cambios a la aplicación estos se pisaran por los de la nueva aplicación
20 abril, 2012 en 11:46 AM
Excelente entonces esta confirmado que es asi. en visual Studio trae un Combobox Arriba donde te deja ejegir entre Debug Y Release cambialo y pruebas igual cuando ya la aplicacion este en produccion sabras que eso no pasara.
1 May, 2012 en 3:41 AM
error: ‘alumnos’ no es un miembro de ‘Accesoadatos.DSprueba.alumnosDataTable’ ; como solucionar este problema
2 May, 2012 en 8:30 AM
Verifica que en la tabla tengas alumnos asi tl cual como lo escribes todo en minuscula Visual Basic es sencible a Mayusculas y Minusculas por lo tanto todo lo que escribas a nivel de variable debes escribirlo tal cual y en SQL Tambien
8 marzo, 2014 en 9:38 AM
hola tengo un proyecto de la universidad y quiero saber como almacenar los datos de una factura en una base de dato. sabiendo que el campo de no. de factura sera unico y los campos de lo productos seran varios ya que sera una venta…. ES URGENTE….
28 marzo, 2014 en 8:49 AM
Bueno es lo mismo que ves en este tutorial la deferencia es que al insertar o agregar un valor nuevo debes buscar cual es el ultimo No. de factura para incrementarle uno y evitar te de un error, ya que si configuras la base de datos para que este valor sea único como aquí yo lo hago con la cédula si intentas ingresar un valor ya existente te dara error, no es nada diferente a lo qe tienes en este tutorial, solo captura cual es el ultimo numero que agregaste para incrementar uno al ingresar un nuevo valor y ya