Fecha y hora actual: Lunes 23 Oct 2017 03:44
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Firebird con Vb.net

Responder al Tema

Índice del Foro > Visual Basic .NET > Firebird con Vb.net

Autor Mensaje
solilopi



Registrado: 21 Abr 2014
Mensajes: 1

Mensaje Publicado: Miércoles 06 Sep 2017 12:39

Título del mensaje: Firebird con Vb.net

Responder citando

Hola de nuevo, estoy migrando mi Bd de MySQL a Firebird y remodelando el programa que la gestiona y me acabo de topar con un problema que no entiendo puesto que, cuando atacaba a MySQL no daba problemas y ahona sí.
El código que me da problemas es en un botón donde muestro algunas consultas a la Bd. El código es:
Código:

Private Sub estadisticas_btn_Click(sender As Object, e As EventArgs) Handles estadisticas_btn.Click

        maximos_gb.Visible = True
        torta_grf.Visible = True

        Dim diasin As Integer = 0
        Dim valor As Decimal
        Dim totaldias As Integer = 0
        Dim totalrecorrido As Integer = 0
        Dim recorrido As String = ""
        Dim maxcalSQL As String = "SELECT MAX(a.calorias) FROM datos a"
        Dim maxDistanciaSQL As String = "SELECT MAX(a.distancia) FROM datos a"
        Dim repetidoSQL As String = "SELECT a.recorrido,COUNT(*)as veces,ROUND(AVG(a.distancia),2) FROM datos a GROUP BY a.recorrido ORDER BY veces desc"
        Dim velmaxSQL As String = "SELECT MAX(a.kmh)FROM datos a"
        Dim distmaxSQL As String = "SELECT SUM(a.distancia) FROM datos a"
        Dim maxdiasSql As String = "dias_sin"

        MiConexion.Open()

        'RELLENAMOS LOS VALORES MÁXIMOS

        Dim comando As FbCommand = New FbCommand(maxcalSQL, MiConexion)
        Dim comando1 As FbCommand = New FbCommand(maxDistanciaSQL, MiConexion)
        Dim comando2 As FbCommand = New FbCommand(repetidoSQL, MiConexion)
        Dim comando3 As FbCommand = New FbCommand(velmaxSQL, MiConexion)
        Dim comando4 As FbCommand = New FbCommand(distmaxSQL, MiConexion)
        Dim comando5 As FbCommand = New FbCommand(maxdiasSql, MiConexion)

        'AÑADO ESTO POR VER SI FUNCIONA PERO NO

        comando.CommandType = CommandType.Text
        comando1.CommandType = CommandType.Text
        comando2.CommandType = CommandType.Text
        comando3.CommandType = CommandType.Text
        comando4.CommandType = CommandType.Text
        comando5.CommandType = CommandType.StoredProcedure

        'HASTA AQUÍ LO AÑADIDO

        Dim lector As FbDataReader
        Dim lector1 As FbDataReader
        Dim lector2 As FbDataReader

        valor = CType(comando.ExecuteScalar(), Decimal)
        maxCal_tb.Text = Convert.ToString(valor)
        valor = 0
        valor = CType(comando1.ExecuteScalar(), Decimal)
        max_tb.Text = Convert.ToString(valor)

        lector = comando2.ExecuteReader
        lector.Read()

        masVeces_tb.Text = lector(0)
        veces_tb.Text = lector(1)
        km_tb.Text = lector(2)

        lector.Close()

        lector1 = comando3.ExecuteReader
        lector1.Read()
        velmax_tb.Text = lector1(0)
        lector1.Close()

        lector2 = comando4.ExecuteReader
        lector2.Read()
        disTotal_tb.Text = lector2(0)

        lector2.Close()

        'MOSTRAMOS LA MAYOR DIFERENCIA ENTRE SALIDAS

        totaldias = CType(comando5.ExecuteScalar(), Integer)
        maxSin_tb.Text = Convert.ToString(totaldias)

        MiConexion.Close()

        'PREPARAMOS EL GRÁFICO ESTADÍSTICO DE LAS SALIDAS

        Dim tortaSql As String = "select * from NPrimeros(7)"
        Dim dtorta As FbCommand = New FbCommand(tortaSql, MiConexion)
        dtorta.CommandType = CommandType.Text
        Dim datorta As New FbDataAdapter(dtorta)
        Dim dttorta As New DataTable

        datorta.Fill(dttorta)

        'LIMPIAMOS LOS PUNTOS X, Y DEL GRÁFICO

        torta_grf.Series(0).Points.Clear()

        'HACEMOS QUE APAREZCAN LOS VALORES SOBRE CADA PORCIÓN

        torta_grf.Series(0).IsValueShownAsLabel = True

        'TIPO DE GRÁFICO

        torta_grf.Series(0).ChartType = SeriesChartType.Doughnut
        torta_grf.Titles.Add("ESTADÍSTICA DE RECORRIDOS")

        'GRÁFICO 3D

        torta_grf.ChartAreas(0).Area3DStyle.Enable3D = True
        torta_grf.ChartAreas(0).BackColor = Color.Khaki
        torta_grf.ChartAreas(0).Area3DStyle.PointDepth = 300

        'COLOR DEL GRÁFICO

        torta_grf.Series(0).Color = Color.RoyalBlue

        'VALORES DE LOS EJES X e Y

        torta_grf.Series(0).XValueMember = "RECORRIDO"
        torta_grf.Series(0).YValueMembers = "veces"

        'ASIGNAMOS EL ORIGEN DE DATOS

        torta_grf.DataSource = dttorta

    End Sub

El error es: System.ArgumentException: 'No se ha encontrado la columna con el nombre 'RECORRIDO'.'

La Bd tiene los campos:
SALIDA_NUM -->Numérico auto incremental.
RECORRIDO--> Varchar(50)
TIEMPO-->Varchar (Sol
DISTANCIA--> Decimal (5,2)
CALORIAS--> Decimal (6,2)
KMH--> Decimal (4,2)
FECHA--> Date

¿Alguien puede echarme un cable?. Gracias.

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 1 Hora

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Error al obtener datos de otra base de datos FI...

fcc117 Otras bases de datos 0 Lunes 23 Feb 2015 18:56 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Conectar FIREBIRD a C++

Ana_22 C, C#, Visual C++ 2 Miércoles 01 Abr 2009 13:23 Ver último mensaje
El foro no contiene ningún mensaje nuevo

EMS SQL Manager 2005 for InterBase & Firebi...

corujogustavo Otras bases de datos 0 Sábado 01 Nov 2008 17:54 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Base de datos Firebird

Tesis Otras bases de datos 0 Domingo 30 Dic 2007 23:08 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,