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

时间:2013-09-13 07:56:19

标签: sql-server vb.net sql-server-2008

我有一个问题。

我收到此错误:

  

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

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

所有源代码:

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

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

2 个答案:

答案 0 :(得分:0)

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

造成的
  

您已经调用了重载方法,但是编译器找不到可以在没有缩小转换的情况下调用的方法。缩小转换会将值更改为可能无法精确保留某些可能值的数据类型。

答案 1 :(得分:0)

您是否使用新关键字宣布了自己的dataset

表示如下内容:

Dim dbpasien As New DataSet()

或者

Using dbpasien As DataSet = New DataSet()