Problema con .dbf

29/09/2006 - 23:27 por Guillermo | Informe spam
Estoy intentando conectarme con una base de datos .dbf, pero no puedo ver los
datos el codigo es mas o menos así:

Dim Cont As New OLEDBConnection
Dim Da As New OleDbDataAdapter
Dim Cmd As New OleDbCommand
Dim Ds As New DataSet
Dim StrQuery As String

Cont.ConnectionString = ""

StrQuery = "SELECT * FROM 'E:\NVC\NVCITEM.DBF'"

Da.SelectCommand = Cmd
Da.SelectCommand.CommandText = StrQuery
Da.SelectCommand.CommandType = CommandType.Text
Da.SelectCommand.Connection = Cont
Try
Cont.Open()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Try
Da.SelectCommand.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Cont.Close()
Da.Fill(Ds, 0)
Me.DataGrid1.DataSource = Ds.Tables(0)
Quisiera saber cual es el problema y como puedo resolverlo.

Gracias

Preguntas similare

Leer las respuestas

#1 Jorge Serrano [MVP VB]
30/09/2006 - 10:33 | Informe spam
Hola Guillermo,

vamos por partes:

Lo primero que debes hacer es instalarte Microsoft OLE DB Provider for
Visual FoxPro 9.0
(http://www.microsoft.com/downloads/...x?FamilyIDáa87d8f-2d58-491f-a0fa-95a3289c5fd4&DisplayLang=en). Ocupa unos 2,5 Mb.

Una vez hecho esto, lo segundo, modificar tu código, en concreto la línea:
Cont.ConnectionString = "Provider=vfpoledb.1;Data Source=
'E:\NVC\';Collating Sequence=general;"


Pruébalo y me comentas que tal.

Un saludo.

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"Guillermo" wrote:

Estoy intentando conectarme con una base de datos .dbf, pero no puedo ver los
datos el codigo es mas o menos así:

Dim Cont As New OLEDBConnection
Dim Da As New OleDbDataAdapter
Dim Cmd As New OleDbCommand
Dim Ds As New DataSet
Dim StrQuery As String

Cont.ConnectionString = ""

StrQuery = "SELECT * FROM 'E:\NVC\NVCITEM.DBF'"

Da.SelectCommand = Cmd
Da.SelectCommand.CommandText = StrQuery
Da.SelectCommand.CommandType = CommandType.Text
Da.SelectCommand.Connection = Cont
Try
Cont.Open()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Try
Da.SelectCommand.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
Cont.Close()
Da.Fill(Ds, 0)
Me.DataGrid1.DataSource = Ds.Tables(0)
Quisiera saber cual es el problema y como puedo resolverlo.

Gracias

Respuesta Responder a este mensaje
#2 SoftJaén
30/09/2006 - 11:12 | Informe spam
"Guillermo" escribió:

Estoy intentando conectarme con una base de datos .dbf, pero no
puedo ver los datos.



Hola, Guillermo:

Añadiendo a lo comentado por el compañero Jorge Serrano, si el archivo *.dbf
es un simple archivo de dBASE, no es necesario que instales el proveedor
OleDb para Visual FoxPro. Simplemente deberás de utilizar el ISAM para
dBASE, el cual nos lo proporciona el motor de datos Microsoft Jet, que me
imagino lo tendrás instalado en tu equipo.

En la cadena de conexión, únicamente debes de especificar la ruta de la
carpeta donde se encuentre el archivo de dBASE:

Cont.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=E:\;" & _
"Extended Properties='dBASE 5.0';"

Y en la consulta SQL de selección, es donde debes especificar el nombre del
archivo de dBASE:

StrQuery = "SELECT * FROM NVCITEM#DBF"

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#3 Jorge Serrano [MVP VB]
30/09/2006 - 12:25 | Informe spam
Muy acertado. :-)

Gracias por completar la info, di por hecho que eran tablas libres de FoxPro
pero no tiene porqué serlo. :-)

Jorge Serrano Pérez
Microsoft MVP VB.NET
PortalVB.com
http://www.portalvb.com/
Blog de Jorge Serrano
http://geeks.ms/blogs/jorge/default.aspx


"SoftJaén" wrote:

"Guillermo" escribió:

> Estoy intentando conectarme con una base de datos .dbf, pero no
> puedo ver los datos.

Hola, Guillermo:

Añadiendo a lo comentado por el compañero Jorge Serrano, si el archivo *.dbf
es un simple archivo de dBASE, no es necesario que instales el proveedor
OleDb para Visual FoxPro. Simplemente deberás de utilizar el ISAM para
dBASE, el cual nos lo proporciona el motor de datos Microsoft Jet, que me
imagino lo tendrás instalado en tu equipo.

En la cadena de conexión, únicamente debes de especificar la ruta de la
carpeta donde se encuentre el archivo de dBASE:

Cont.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=E:\;" & _
"Extended Properties='dBASE 5.0';"

Y en la consulta SQL de selección, es donde debes especificar el nombre del
archivo de dBASE:

StrQuery = "SELECT * FROM NVCITEM#DBF"

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.




email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida