Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 为什么这个对象函数会退出?_Vb.net - Fatal编程技术网

Vb.net 为什么这个对象函数会退出?

Vb.net 为什么这个对象函数会退出?,vb.net,Vb.net,我试图从VB.NET对象函数返回数据集时遇到了一个非常简单的问题 下面显示了我的函数,该函数在SQL查询运行之后以及创建新对象连接之前,当前正在退出该函数 此处称为编辑表单: edit.Show() 在编辑表单中,运行以下命令以根据构造函数中设置的ID从“editEntry”方法的检索数据集检索数据库中所选数据的详细信息 Private Sub edit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Han

我试图从VB.NET对象函数返回数据集时遇到了一个非常简单的问题

下面显示了我的函数,该函数在SQL查询运行之后以及创建新对象连接之前,当前正在退出该函数

此处称为编辑表单:

 edit.Show()
在编辑表单中,运行以下命令以根据构造函数中设置的ID从“editEntry”方法的检索数据集检索数据库中所选数据的详细信息

 Private Sub edit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


    Dim editDetails As New DBHandler(ID)

    Dim returnedDetails As New DataSet

    returnedDetails = editDetails.editEntry()

    Dim nameReturned As Object = returnedDetails.Tables("editedTable").Rows(0)(1)

    Dim firstNameEdit As String = nameReturned.ToString()

    TextBox1.Text = firstNameEdit
这是发生问题的函数。查询没有返回任何内容

设置ID的构造函数:

 Public Sub New(ByVal ID As Integer)

    IDofFault = ID

End Sub
该类的功能:

Public Function editEntry() As DataSet

    Dim editDataSet As New DataSet
    Dim editSql As String = "SELECT * FROM duraGadget WHERE _id = " + IDofFault + ""

    'Exiting from the function here
    Dim connectionEdit As New OleDbConnection(conString)
    Dim editAdapter As New OleDbDataAdapter(editSql, connectionEdit)

    connectionEdit.Open()

    editAdapter.Fill(editDataSet, "editedTable")

    connectionEdit.Close()

    Return editDataSet

End Function

没有错误,它只是从函数中退出,我不确定原因。

您可能收到异常,并且您的visual studio调试设置没有配置为阻止您处理这些类型的异常


将EditEntry函数的内容包装在Try/Catch块中,并在Catch内放置断点。查看是否会触发该异常,并查看异常详细信息以获取有关发生情况的详细信息。

您可能收到异常,并且您的visual studio调试设置未配置为阻止您处理这些类型的异常


将EditEntry函数的内容包装在Try/Catch块中,并在Catch内放置断点。查看是否会触发异常,并查看异常详细信息以了解发生的更多信息。

这是一个非常愚蠢的错误。我只是将ID值存储为sting…然后尝试将其作为整数传递给构造函数…结果?…转换异常。

这是一个非常愚蠢的错误。我只是将ID值存储为sting…然后尝试将其作为整数传递给构造函数…结果?…转换异常。

IDofFault集合在哪里?在创建“editDetails”实例时,它从单元格单击方法传递给DBHandler类的构造函数。我已经在调试中检查了这一点,并且正在传递和设置正确的ID。@RowlandShaw lol好问题:)您用于在查询中包含IDofFault的技术受到sql注入的影响。这里没关系,因为它是一个整数变量,但如果你在其他地方这样做,你会非常脆弱。它实际上是在乞求被黑客攻击。相关:IDofFault集合在哪里?在创建“editDetails”实例时,它从单元格单击方法传递给DBHandler类的构造函数。我已经在调试中检查了这一点,并且正在传递和设置正确的ID。@RowlandShaw lol好问题:)您用于在查询中包含IDofFault的技术受到sql注入的影响。这里没关系,因为它是一个整数变量,但如果你在其他地方这样做,你会非常脆弱。实际上,这是在乞求被黑客攻击。相关:这不会触发,因为代码在SQL之后和创建连接对象之前退出。@user1352057 Not before:during。创建连接的行为会引发异常,VS会忽略它在调试器中显示的异常,就像该行从未运行一样。这不会触发,因为代码在SQL之后和创建连接对象之前退出。@user1352057 Not before:during。创建连接的行为会引发异常,而VS会忽略它在调试器中显示的异常,就像这行永远不会运行一样。另外,作为一个主要的c#dev,使用“+”将我的变量添加到等式中会导致它被视为一个等式。对于任何读到这篇文章并遇到相同问题的人,请使用“&”而不是“+”来连接SQL查询!这就是为什么在代码顶部添加Option Strict On或在项目属性中设置它是一种好的做法。你会立即得到一个编译错误。另外……作为一个主要的c#dev,使用“+”简单地将我的变量添加到等式中,导致它被视为一个等式。对于任何读到这篇文章并遇到相同问题的人,请使用“&”而不是“+”来连接SQL查询!这就是为什么在代码顶部添加Option Strict On或在项目属性中设置它是一种好的做法。您会立即得到一个编译错误。