ASP.NET with VB.NET sql statement for MS ACCESS

J

josephrthomas

hi..
i am using ASP.NET with VB.NET to connect to a MS Access
database...
can someone pls tell me how do i make the sql statement to
insert a new record into the existing table pls??


also how do i filter data?
i mean lets say i wanna filter the NAME field and get all
the names starting with
"Ja"
can someone pls tell how do i write the sql statement to
do that pls?

tks a lot...
 
S

Scott M.

These really aren't .NET questions, they are "how to write SQL" questions.
Using SQL in .NET with Access/SQL Server isn't really any different then
writing SQL without .NET.

Access itself has a "query designer" which you can use to generate the
proper SQL statement for various tasks. You can then copy that SQL and use
it in .NET.
 
F

Fuccio DaVietre

Hola, amigo.

Soy nuevo en este grupo, pero tengo algunos conocimientos que me permitirán
ayudarte.

Primeramente, debes definir cuál tecnología usarás para manipular la base de
datos de MS Access. Puedes usar DAO o ADO, las cuales son las más idóneas
para el uso con este formato de bases de datos: Access. Luego de definir
cuál tecnología usarás (te recomiendo ADO), tendrás que agregarla referencia
al proyecto en el cual lo usaras (yo uso Microsoft Visual Studio .NET), para
esto vas al menú Proyecto->Agregar referencia..., ahí seleccionarás ADODB.
Luego de hacer esto ya tienes la referencia en tu proyecto a la librería
ADODB. procederás a crear las variables para su uso.

Deberás crear una variable de tipo ADODB.Connection para manipular una
conexión a una base de datos, luego otra de tipo ADODB.Recordset para
manipular una base de datos. Todo quedaría de la siguiente manera:

Public cnMiConn As new ADODB.Connection()
Public rsMiTabla As new ADODB.Recordset()


Para empezar a manipular la tabla de Access deberás:
1- Establecer las propiedades para la manipulación de la base de datos.
2- Conectarte a la base de datos de Access.
3- Abrir la tabla.
4- Manipular los datos.

Para lograr esto te muestro un fragmento de código donde verás claramente
todo el procedimiento.

Código de ejemplo:
--------------------
Public Class Form1
Inherits System.Windows.Forms.Form

....

Public cnMiConn As New ADODB.Connection()
Public rsMiTabla As New ADODB.Recordset()

Private Sub Form1_Load( ... ) Handles MyBase.Load

'Tipo de bloqueo que usarás para la base de datos
cnMiConn.Mode = ADODB.ConnectModeEnum.adModeReadWrite

'Tiempo límite en segundos para efectuar la conexión
cnMiConn.ConnectionTimeout = 15

'Proveedor que usarás para la conexión.
'Existen varios tipos de proveedores. El que se usa para bases de datos de
Access es
'Microsoft.Jet.OLEDB.4.0
cnMiConn.Provider = "Microsoft.Jet.OLEDB.4.0"

'Cadena de conexión
cnMiConn.ConnectionString = "Password=;User ID=Admin;Data
Source=C:\Datos\Datos.mdb;"
cnMiConn.Open()

'Abre la base de datos
rsMiTabla.Open("SELECT * FROM [tTabla]", cnMiConn,
ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic, 0)

End Sub

....

Para manipular los datos utilizas los siguientes métodos:
1- Insertar un nuevo registro
'Inserta un nuevo registro en la tabla
rsMiTabla.AddNew()
rsMiTabla.Fields("Campo1").Value = TextBox1.Text
rsMiTabla.Fields("Campo2").Value = ComboBox1.Text
rsMiTabla.Fields("Campo2").Value = CheckBox1.Checked
rsMiTabla.Update()

2- Eliminar un registro
'Elimina el registro actual
rsMiTabla.Delete()

3- Ir al primer registro
rsMiTabla.MoveFirst()

4- Ir un registro atrás
rsMiTabla.MovePrevious()

5- Ir un registro adelante
rsMiTabla.MoveNext()

6- Ir al último registro
rsMiTabla.MoveLast

Existen dos propiedades que te indican cuando se ha llegado al principio o
al final de la tabla. Estas propiedades te ayudarán a saber si existen
registros en la tabla. Las propiedades se llaman BOF y EOF y son de tipo
Boolean.
BOF se utiliza para saber si estás en el principio de la tabla
EOF se utiliza para saber si estás en el final de la tabla
Si las dos propiedades son verdaderas entonces no existen registros en la
tabla.
Funciona de la siguiente manera. Cuando en una tabla estás en el primer
registro válido su posición es 1 y cuando estás en el final su posición es
la cantidad de registros que existan. Si te mueves un registro atrás la
posición cambia a 0 y BOF se pone verdadero. Si estás en el final y te
mueves un registro adelante la posición es la cantidad de registros que
existen en la tabla + 1 y EOF se pone verdadero.

Ejemplo de código:

....

Public Sub MoverPrincipio()
'Se mueve al principio de la tabla
rsMiTabla.MoveFirst()
End Sub


Public Sub MoverAnterior()
'Se mueve un registro atrás
rsMiTabla.MovePrevious()

'Si se está en el principio de la tabla se mueve al primer registro válido
If (rsMiTabla.BOF = True) Then
rsMiTabla.MoveFirst()
End If
End Sub


Public Sub MoveNext()
'Se mueve un registro adelante
rsMiTabla.MoveNext()

'Si se está en el final de la tabla se mueve al último registro válido
If (rsMiTabla.EOF = True) Then
rsMiTabla.MoveLast()
End If
End Sub


Public Sub MoveLast()
rsMiTabla.MoveLast()
End Sub

....

Querido amigo, creo que es suficiente para que puedas manipular una base de
datos de Access en VB.NET utilizando ADO. Si quieres profundizar más al
respecto te recomiendo que vayas a la ayuda.

Fuccio DaVietre
 
J

Joseph Thomas

hi...
tks a lot...but i am very sorry....can u pls write it in english???
tks a lot...
 
J

Jos

josephrthomas said:
hi..
i am using ASP.NET with VB.NET to connect to a MS Access
database...
can someone pls tell me how do i make the sql statement to
insert a new record into the existing table pls??

strSQL = "INSERT INTO myTable
(myTextField1,myNumberField2) VALUES ('test', 123);"
also how do i filter data?
i mean lets say i wanna filter the NAME field and get all
the names starting with
"Ja"

strSQL = "SELECT * FROM myTable WHERE NAME LIKE 'Ja%';"
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,773
Messages
2,569,594
Members
45,117
Latest member
Matilda564
Top