Bd visual

Solo disponible en BuenasTareas
  • Páginas : 8 (1834 palabras )
  • Descarga(s) : 0
  • Publicado : 27 de enero de 2011
Leer documento completo
Vista previa del texto
http://www.programacionfacil.com/visual_basic_net/ado_net
Es necesario importar el componente que nos activara la manipulacion de bases de datos de la siguiente forma

Imports systems.data.oledb

Para crear la coneccion es necesario hacer la siguiente declaracion.
DIM coneccion AS OLEDBCONNECTIONconeccion = NEW OLEDBCONNECTION("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\progfacil\lauro\mibase.mdb")

OBJETO COMMAND.- Este objeto puede contener directamente una instruccion SQL y enviarla al objeto coneccion ya descrito.
Ya establecido el canal o enlace entre el programa aspx y la base de datos via el objeto CONECCION, se debe mandar lainstruccion SQL a la propia base de datos, sin embargo en un programa de vbasic por supuesto que no puede contener instrucciones de otros lenguajes de programacion como el de SQL, es por esto que se deberan usar algunos de los otros objetos de ADO.NET para que estos objetos transporten la instruccion sql hacia la base de datos (y transporte de regreso al servidor los datos de alguna tabla), uno de estosobjetos es el objeto COMMAND.
Este objeto command primero se tendra que crear y luego cargarle dos parametros que son:
La instruccion sql y el objeto conneccion que ya se vio en el parrafo anterior, ejemplo:
DIM orden AS OLEDBCOMMAND

Orden = NEW OLEDBCOMMAND("select * from mitabla", coneccion)

Si esta muy grande o muy compleja la instruccion sql, es mas conveniente crearla en una variablestring y poner la variable como parametro ejemplo:

DIM orden AS OLEDBCOMMAND

DIM q AS STRING

q = "select * from mitabla"

orden = NEW OLEDBCOMMAND(q, coneccion)

Sin embargo ciertas instrucciones de sql ( ya estudiaron su tutorial del sql??), requieren que se manden los datos a la base de datos, respetando el tipo de dato con los cuales los creo el software de bases de datos, porejemplo si edad en access se declaro como NUMBER, la instruccion sql que prentenda cargar dicho campo, tiene la obligacion de mandarla con este tipo de dato asociado, instrucciones SQL que permiten cargar o capturar ese campo edad son INSERT o UPADTE ( ya estudiaron su tutorial de SQL??).

Para resolver este problema, usaremos en la string q, unas variables llamadas VARIABLES PARAMETROS que sesimbolizan usando el simbolo @ antes de la variable y ademas al objeto COMMAND le agregamos dos instrucciones extras que permiten agregar a la string q el dato y el tipo de dato, ejemplo, se tienen seis renglones ya capturados en nuestra tabla y se quiere agregar un septimo renglon con los siguientes datos, clave=7, nombre="rana" peso=3.14 , usaremos la instruccion SQL INSERT ej:

DIM orden ASOLEDBCOMMAND

DIM q, clave, nombre, peso AS STRING

Clave = 7: nombre = "rana": peso = 3.14

Q ="insert into mitabla(clave,nombre,peso) values(@CLAVE, @NOMBRE, @PESO)"

orden= new OleDbCommand(q, coneccion)

orden.Parameters.Add(new OleDbParameter("@CLAVE", OleDbType.Integer))

orden.Parameters("@CLAVE").Value = clave

orden.Parameters.Add(new OleDbParameter("@NOMBRE", OleDbType.VarWChar,40))

orden.Parameters("@NOMBRE").Value = nombre

orden.Parameters.Add(new OleDbParameter("@PESO", OleDbType.Double))

orden.Parameters("@PESO").Value = edad

Observar que para cada variable parametro(@), se tienen que cargar dos elementos, el valor y el tipo de dato correpondiente.

Aunque en valor se mandan string's, en oledbtype se hace un mapeo, relacion o conversion al tipo de datoque se uso en access, tener mucho cuidado que exista una relacion igual o cuando este pograma se ejecute el servidor les va a mandar un error o excepcion de sql, que les intenta decir que el tipo de dato que mandaron a la base de datos, no es igual al que se uso para crearlo en la base de datos.
Los OLEDBTYPE mas comunes son:
BigInt A 64-bit signed integer (DBTYPE_I8). This maps to Int64....
tracking img