Visual Basic.NET - ayuda por favor!!

 
Vista:

ayuda por favor!!

Publicado por nidia (1 intervención) el 23/01/2008 18:28:29
Hola, ojala y puedan ayudarme

estoy realizando un modulo en vb.net que me abra una tabla hecha en foxpro (emp_21.dbf) y el contenido de esa tabla quiro que me lo escriba en un archivo de texto, pero me sale un error al habrir la tabla y pasarla al OleDb.OleDbDataAdapter

mi codigo en vb.net es el sig.:

Imports System.Data.OleDb

Imports Microsoft.VisualBasic
Imports System.IO

Module modGeneraArchivoTxt
Public daEmpleados As OleDb.OleDbDataAdapter
Public conEmpleados As OleDbConnection
Public dsEmpleados As DataSet

Public Sub GeneraArchivo()

Dim strConnectionFoxString As System.String
Dim intFreeFile As Integer
Dim i32ContadorRows As System.Int32
Dim i32contadorColumns As System.Int32
Dim strDato As String = ""
Dim strCadena As String = ""
Dim FilePath As String = "C: ombreArchivo.txt"

'Variables para abrir el archivo en modo de escritura
Dim strStreamW As Stream
Dim strStreamWriter As StreamWriter

Try
intFreeFile = FreeFile()
Microsoft.VisualBasic.FileOpen(intFreeFile, "RutaFox.ini", OpenMode.Input)
strConnectionFoxString = Microsoft.VisualBasic.LineInput(intFreeFile)
If strConnectionFoxString <> "" Then
strArchivoOrigen = strConnectionFoxString
SaveSetting("iActEmpCasNet", "variables", "ArchivoOrigen", strConnectionFoxString)
Else
MessageBox.Show("El archivo RutaFox no Existe o no tiene especificada la ruta para la actualizacion de empleados:", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Microsoft.VisualBasic.FileClose(intFreeFile)
Catch eException As Exception 'Se atrapa cualquier tipo de excepción.
MessageBox.Show(eException.Message, "Ha ocurrido la siguiente excepcion:", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try

dsEmpleados = New DataSet()

conEmpleados = New OleDbConnection()
conEmpleados.ConnectionString = strConnectionFoxString
daEmpleados = New OleDbDataAdapter("SELECT * FROM emp_21", conEmpleados)
daEmpleados.Fill(dsEmpleados, "EMP")

'Se abre el archivo y si este no existe se crea
strStreamW = File.OpenWrite(FilePath)
strStreamWriter = New StreamWriter(strStreamW, _
System.Text.Encoding.UTF8)

For i32ContadorRows = 0 To dsEmpleados.Tables("EMP").Rows.Count - 1
For i32contadorColumns = 0 To dsEmpleados.Tables("EMP").Columns.Count - 1
strDato = CType(dsEmpleados.Tables("EMP").Rows(i32ContadorRows).Item(i32contadorColumns), System.String)
strCadena = strCadena & "," & strDato
Next
'Escribimos la línea en el achivo de texto
strStreamWriter.WriteLine(strDato)
i32contadorColumns = 0
strDato = ""
strCadena = ""
Next
strStreamWriter.Close()
End Sub

End Module

Nota: el error me sale en :
daEmpleados = New OleDbDataAdapter("SELECT * FROM emp_21", conEmpleados)
daEmpleados.Fill(dsEmpleados, "EMP")

y me dice lo sig:
Excepción no controlada del tipo 'System.InvalidOperationException' en system.data.dll

Información adicional: The provider could not determine the Decimal value. For example, the row was just created, the default for the Decimal column was not available, and the consumer had not yet set a new Decimal value.

el problema esque en mi tabla hay un campo que es numerico y tiene decimales, pero hay algunos records de la tabla que tienen como decimal un punto cero no lo sabe interpretar y me marca ese error...

alguien sabe como solucionar el problema para que cuando yo habra mi tabla .dbf sepa interpretar los records con decimal cero?

Gracias de antemano espero sus cometarios!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ayuda por favor!!

Publicado por jeremy G (26 intervenciones) el 23/01/2008 19:49:28
Hola, estas ocupando oledb, intenta ocupar odbc, crea una conexion en la herramientas adimistrativas en ODBC del panel control.. y despues la conectas, con el
dataadapter y te vas a las propiedades de la coneccion y sacas la coneccion , la puedes incluir directamente en tu programa en el connectiostring del dataadapter..
asi yo pude conectarme a Bd dbf, pero deberías cambiar de tablas a SQL Server o MYSQL ( GPL ) algo mas robusto. se te va a hacer mas eficaz. exportar los registros del dbf usando las herramientas del MYSQL... bueno espero que te vaya bien con lo de conexion dbf.
si es que no puedes migrar las bd.

oka
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ayuda por favor!!

Publicado por jeremy (26 intervenciones) el 23/01/2008 19:56:22
puedes ver esto para ayudarte

http://support.microsoft.com/kb/310985/es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar