未处理InvalidCastException [英] InvalidCastException was unhandled

查看:92
本文介绍了未处理InvalidCastException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好!

这是编程的新手,我正在其中编写我的第一个程序,我想从sql检索数据并显示在ComboBox中,但是当我尝试运行Page_Load时却得到了(InvalidCastException未处理),有人可以看到我的问题吗? /p>

感谢帮助

================================================ ==============================

导入System.Data.SqlClient

公共类Component_Removal
   昏暗的SqlConn作为SqlConnection
   将SqlCmd变暗为SqlCommand
   昏暗计数为整数
   昏暗查询为字符串
   昏暗的读者作为SqlDataReader

    私有子Component_Removal_Load(作为对象发送,作为EventArgs发送)处理MyBase.Load
        SqlConn =新的SqlConnection
        SqlConn.ConnectionString =
    "服务器= DESKTOP-8HE6EFV \ SQLEXPRESS;数据库= Keyn_Electronics;用户= Keyn; Pwd = keyn161;"
       昏暗的阅读器作为SqlDataReader
       试试
            SqlConn.Open()
           查询="SELECT * FROM Radio_Manufacturers"
            SqlCmd =新的SqlCommand(Query,SqlConn)
            Reader = SqlCmd.ExecuteReader
           在Reader上阅读
               昏暗的sName = Reader.GetString("numbers")
                ComboBox2.Items.Add(sName)
           结束时
            SqlConn.Close()
       捕获为SqlException
            MessageBox.Show(ex.Message)
       终于
            SqlConn.Dispose()
       结束尝试
   结束


解决方案

我无法编译它.在项目的选项中将Option Strict On切换为On或在项目中添加"optionstrict on"行.在代码文件的顶部.看看错误的陈述.  您将看到GetString需要一个Integer作为参数,而不是一个String.

切勿关闭类型检查.不幸的是,这是微软多年来完全疯狂的默认设置.


Hi everyone!

Completely new to programming, I am writing my first program in it I want to retrieve data from sql and display in ComboBox, but I get (InvalidCastException was unhandled) when I try to run my Page_Load can anyone see my problem?

Thanks for help

==============================================================================

Imports System.Data.SqlClient

Public Class Component_Removal
    Dim SqlConn As SqlConnection
    Dim SqlCmd As SqlCommand
    Dim Count As Integer
    Dim Query As String
    Dim Reader As SqlDataReader

    Private Sub Component_Removal_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        SqlConn = New SqlConnection
        SqlConn.ConnectionString =
    "Server=DESKTOP-8HE6EFV\SQLEXPRESS;Database=Keyn_Electronics;user=Keyn;Pwd=keyn161;"
        Dim Reader As SqlDataReader
        Try
            SqlConn.Open()
            Query = " SELECT * FROM Radio_Manufacturers"
            SqlCmd = New SqlCommand(Query, SqlConn)
            Reader = SqlCmd.ExecuteReader
            While Reader.Read
                Dim sName = Reader.GetString("numbers")
                ComboBox2.Items.Add(sName)
            End While
            SqlConn.Close()
        Catch ex As SqlException
            MessageBox.Show(ex.Message)
        Finally
            SqlConn.Dispose()
        End Try
    End Sub


解决方案

I can't compile it. Switch Option Strict On in the project's options or add the line "option strict on" at the top of the code file. Look at the erroneous statment.  You will see that GetString requires an Integer as an argument, not a String.

Never turn type checking off. Unfortuantelly, this is Microsoft's completely insane default setting... for years. 


这篇关于未处理InvalidCastException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆