vb.net 重载解析失败,因为在没有缩小转换的情况下无法调用可访问的“新”

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/18781120/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-17 15:03:32  来源:igfitidea点击:

Overload resolution failed because no accessible 'new' can be called without a narrowing conversion

sql-servervb.netsql-server-2008

提问by user2775540

I have a problem.

我有个问题。

I am getting this error:

我收到此错误:

Overload resolution failed because no accessible 'new' can be called without a narrowing conversion.

重载解析失败,因为没有缩小转换就无法调用可访问的“新”。

Private Sub bt_hapus_Click(sender As Object, e As EventArgs) Handles bt_hapus.Click
        Try
            Dim sqlda As New SqlClient.SqlDataAdapter("Delete from tblpasien where No_Rkm_Mds=" & Me.No_Rkm_MdsTextBox.Text, Me.KlinikGigiDataSet)
            sqlda.Fill(dbpasien, "tblpasien")
            MsgBox("Data telah berhasil dihapus")
            bersih()
            pasif()
            normal()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

All source code :

所有源代码:

Public Class frm_pasien
    Dim dbpasien As New DataSet
    Dim dvpasien As New DataView
    Dim tekan As Integer
    Dim cari As Integer

    Private Sub TblpasienBindingNavigatorSaveItem_Click(sender As Object, e As EventArgs) Handles TblpasienBindingNavigatorSaveItem.Click
        Me.Validate()
        Me.TblpasienBindingSource.EndEdit()
        Me.TableAdapterManager.UpdateAll(Me.KlinikGigiDataSet)

    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        'TODO: This line of code loads data into the 'KlinikGigiDataSet.tblpembayaran' table. You can move, or remove it, as needed.
        Me.TblpembayaranTableAdapter.Fill(Me.KlinikGigiDataSet.tblpembayaran)
        'TODO: This line of code loads data into the 'KlinikGigiDataSet.tblpasien' table. You can move, or remove it, as needed.
        Me.TblpasienTableAdapter.Fill(Me.KlinikGigiDataSet.tblpasien)

    End Sub

    Private Sub BindingNavigatorDeleteItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorDeleteItem.Click

    End Sub

    Private Sub BindingNavigatorAddNewItem_Click(sender As Object, e As EventArgs) Handles BindingNavigatorAddNewItem.Click

    End Sub

    Private Sub bt_keluar_Click(sender As Object, e As EventArgs) Handles bt_keluar.Click
        Dim pesan As DialogResult = MsgBox("Apakah anda yakin akan keluar", MsgBoxStyle.OkCancel)
        If pesan = DialogResult.OK Then
            Me.Close()
        Else
            Exit Sub
        End If
    End Sub


    Private Sub bt_hapus_Click(sender As Object, e As EventArgs) Handles bt_hapus.Click
        Try
            Dim sqlda As New SqlClient.SqlDataAdapter("Delete from tblpasien where No_Rkm_Mds=" & Me.No_Rkm_MdsTextBox.Text, Me.KlinikGigiDataSet)
            sqlda.Fill(dbpasien, "tblpasien")
            MsgBox("Data telah berhasil dihapus")
            bersih()
            pasif()
            normal()
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub bersih()
        Me.No_Rkm_MdsTextBox.Clear()
        Me.NamaTextBox.Clear()
        Me.UmurTextBox.Clear()
        Me.Tgl_LhrTextBox.Clear()
        Me.AlamatTextBox.Clear()
        Me.No_HpTextBox.Clear()
        Me.No_Rkm_MdsTextBox.Focus()
    End Sub

    Private Sub pasif()
        Me.No_Rkm_MdsTextBox.Enabled = False
        Me.NamaTextBox.Enabled = False
        Me.UmurTextBox.Enabled = False
        Me.Tgl_LhrTextBox.Enabled = False
        Me.AlamatTextBox.Enabled = False
        Me.No_HpTextBox.Enabled = False
    End Sub

    Private Sub normal()
        Me.bt_tambah.Enabled = True
        Me.bt_edit.Enabled = True
        Me.bt_simpan.Enabled = False
        Me.bt_reset.Enabled = False
        Me.bt_hapus.Enabled = False
        Me.bt_keluar.Enabled = True
    End Sub
    Private Sub binding()
        Me.No_Rkm_MdsTextBox.DataBindings.Clear()
        Me.No_Rkm_MdsTextBox.DataBindings.Add("Text", dvpasien, "Id")
        Me.NamaTextBox.DataBindings.Clear()
        Me.NamaTextBox.DataBindings.Add("Text", dvpasien, "Nama")
        Me.UmurTextBox.DataBindings.Clear()
        Me.UmurTextBox.DataBindings.Add("Text", dvpasien, "Alamat")
        Me.Tgl_LhrTextBox.DataBindings.Clear()
        Me.Tgl_LhrTextBox.DataBindings.Add("Text", dvpasien, "Ttl")
        Me.AlamatTextBox.DataBindings.Clear()
        Me.AlamatTextBox.DataBindings.Add("value", dvpasien, "Jkl")
        Me.No_HpTextBox.DataBindings.Clear()
        Me.No_HpTextBox.DataBindings.Add("Text", dvpasien, "Pekerjaan")
    End Sub

    Private Sub No_Rkm_MdsTextBox_TextChanged(sender As Object, e As EventArgs) Handles No_Rkm_MdsTextBox.TextChanged
        If Len(Me.No_Rkm_MdsTextBox.Text) < 10 Then
            Exit Sub
        End If
        dvpasien.Sort = "Id"
        Try
            cari = dvpasien.Find(Me.No_Rkm_MdsTextBox.Text)
            If cari = -1 Then
                If tekan = 1 Then
                    Me.No_Rkm_MdsTextBox.Focus()
                Else
                    MsgBox("Data tidak ada")
                    bersih()
                End If

            Else
                If tekan = 1 Then
                    MsgBox("Data sudah ada")
                    bersih()
                Else
                    binding()
                    tampilgrid()
                    Me.bt_edit.PerformClick()
                End If

            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub

    Private Sub tampilgrid()
        Throw New NotImplementedException
    End Sub    
End Class

Please help this is my essay from my lecturer.

请帮助这是我的讲师的论文。

采纳答案by Dhaval

Have you declared your datasetwith New keyword?

你有没有dataset用 New 关键字声明过你的?

Means something as follows:

意思如下:

Dim dbpasien As New DataSet()

Or

或者

Using dbpasien As DataSet = New DataSet()

回答by Alex

MSDNexplains this exception is due to bad overloaded method types

MSDN解释这个异常是由于错误的重载方法类型

You have made a call to an overloaded method, but the compiler cannot find a method that can be called without a narrowing conversion. A narrowing conversion changes a value to a data type that might not be able to precisely hold some of the possible values.

您已调用重载方法,但编译器找不到可以在不进行收缩转换的情况下调用的方法。收缩转换将值更改为可能无法精确保存某些可能值的数据类型。