• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

lilifelipa

vb.net... erros

3 mensagens neste tópico

oi..

estou fazendo uma aplicação informatica como projecto de final de ano mas dá-me uma serie de erros...

a aplic. tem como funcionalidade a gestão de equipamentos de uma sala de informatica.

Tenho como menu o GUARDAR, ELIMINAR, NOVO, CANCELAR, PREVIZUALIZAR,

Tou com problemas no MOSTRAR principalmente pois tenho combobox e presiso k grave essas informações mas ao inserir este código

Private Sub PrevisualizarToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButPrevisualizar.Click

        Dim str As String

        Dim dt As DataTable

        Try

            str = "SELECT * FROM utilizadores WHERE utilizador= " & txtUtilizador.Text

            dt = executaQueryString(str, operacaoBD.Seleccionar)

            If Not IsNothing(dt) Then

                CmbTipoUtilizador = dt.Rows(0)("tipoUtilizador")

                txtNrMecanografico.Text = dt.Rows(0)("nmecanografico")

                txtTelemovel.Text = dt.Rows(0)("telemovel")

                txtTelefone.Text = dt.Rows(0)("telefone")

                txtEmail.Text = dt.Rows(0)("email")

            Else

                MsgBox("O utilizador não existe.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "utilizadores")

            End If

            Exit Sub

        Catch ex As Exception

            MsgBox(Err.Description, MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Erro!!!")

        End Try

    End Sub

Dá-m este erro:

Unable to cast object of type 'System.String' to type 'System.Windows.Forms.ComboBox'.

E eu ñ sei o k faxer...

Isto é o k fax ligação á minha base de dados em SQL

Imports System.Data

Imports System.Data.SqlClient

Module sql

#Region "Código para acesso à BD"

    Enum operacaoBD

        Inserir

        Actualizar

        Eliminar

        Seleccionar

    End Enum

    Private Function getDataTable(ByVal dataReader As SqlDataReader) As DataTable

        Dim tabela, dt As DataTable

        Dim dc As DataColumn

        Dim dr As DataRow

        Dim i, j As Integer

        Dim al As New ArrayList

        tabela = dataReader.GetSchemaTable()

        dt = New DataTable

        For i = 0 To tabela.Rows.Count - 1

            dc = New DataColumn

            If (Not dt.Columns.Contains(tabela.Rows(i)("ColumnName").ToString)) Then

                dc.ColumnName = tabela.Rows(i)("ColumnName").ToString

                dc.Unique = Convert.ToBoolean(tabela.Rows(i)("IsUnique"))

                dc.AllowDBNull = Convert.ToBoolean(tabela.Rows(i)("AllowDBNull"))

                dc.ReadOnly = Convert.ToBoolean(tabela.Rows(i)("IsReadOnly"))

                al.Add(dc.ColumnName)

                dt.Columns.Add(dc)

            End If

        Next

        i = 0

        While (dataReader.Read())

            dr = dt.NewRow()

            For j = 0 To al.Count - 1

                dr(al(j).ToString) = dataReader(al(j).ToString)

            Next

            dt.Rows.Add(dr)

            i = i + 1

        End While

        If dt.Rows.Count = 0 Then

            dt = Nothing

        End If

        getDataTable = dt

    End Function

    Function executaQueryString(ByVal queryString As String, ByVal operBD As operacaoBD) As DataTable

        Dim conn As SqlConnection

        Dim cmdSQL As SqlCommand

        Dim strConBD As String

        Try

            strConBD = My.Settings.strConnBD

            conn = New SqlConnection(strConBD)

            conn.Open()

            cmdSQL = New SqlCommand(queryString, conn)

            cmdSQL.CommandTimeout = 20

            If operBD = operacaoBD.Seleccionar Then

                Return (getDataTable(cmdSQL.ExecuteReader))

            Else

                cmdSQL.ExecuteNonQuery()

                Return (Nothing)

            End If

            Exit Function

        Catch ex As Exception

            Err.Raise(Err.Number, "Acesso à Base de Dados", Err.Description)

            Return (Nothing)

        Finally

            If Not conn Is Nothing Then

                If Not cmdSQL Is Nothing Then

                    cmdSQL.Dispose()

                    cmdSQL = Nothing

                End If

                conn.Close()

                conn.Dispose()

                conn = Nothing

            End If

        End Try

    End Function

#End Region

End Module

Plese ajudem-m

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a usar que VB???, põe o tipo de VB no nome do tópico... é mais apelativo para os programadores presentes, da melhor aspecto e organização...

do género, tens "erros em vb"

Mete "erros em vb.net", por exemplo, eu não sei qual é que estás a usar... foi apenas um exemplo...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Private Sub PrevisualizarToolStripButton4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButPrevisualizar.Click

        Dim str As String
        Dim dt As DataTable

        Try

            str = "SELECT * FROM utilizadores WHERE utilizador= " & txtUtilizador.Text

            dt = executaQueryString(str, operacaoBD.Seleccionar)
            If Not IsNothing(dt) Then
                CmbTipoUtilizador = dt.Rows(0)("tipoUtilizador")   'Penso que o erro estara nesta linha
                                                                                                'Estas a fazer o cast de uma string para uma combobox
                txtNrMecanografico.Text = dt.Rows(0)("nmecanografico")
                txtTelemovel.Text = dt.Rows(0)("telemovel")
                txtTelefone.Text = dt.Rows(0)("telefone")
                txtEmail.Text = dt.Rows(0)("email")

            Else
                MsgBox("O utilizador não existe.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly, "utilizadores")
            End If

            Exit Sub

        Catch ex As Exception
            MsgBox(Err.Description, MsgBoxStyle.Critical + MsgBoxStyle.OkOnly, "Erro!!!")
        End Try
    End Sub

estas a usar a combobox para quê?

tenta especificar melhor o teu erro

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora