2015-04-29 81 views
0

进口MySql.Data.MySqlClient转换无效

公共类BookingForm

Dim MySqlConn As MySqlConnection 
Dim Command As MySqlCommand 
Dim Valid As Boolean = False 




Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Call Input_Validation() 

    MySqlConn = New MySqlConnection 
    MySqlConn.ConnectionString = "Server = Localhost; database = venuesdb; user id = root; Password = " 
    Dim Reader As MySqlDataReader 

    Try 
     MySqlConn.Open() 
     Dim Query As String 
     Query = "Insert into venuesdb.Event(VenueID, EventName, EventDate, EventStartTime, EventEndTime, EventID, CustomerID) Values ('" & TextBox1.Text & "', '" & TextBox2.Text & "', '" & DateTimePicker1.Text & "', '" & TextBox4.Text & "', '" & TextBox5.Text & "', '" & TextBox6.Text & "', '" & TextBox7.Text & "')" 
     Command = New MySqlCommand(Query, MySqlConn) 
     Reader = Command.ExecuteReader 

     MessageBox.Show("Booking Added") 
     MySqlConn.Close() 
     If TextBox1.Text = 0 Then 
      MessageBox.Show("Please enter text") 
     End If 
    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
    Finally 
     MySqlConn.Dispose() 

     TextBox1.Clear() 
     TextBox2.Clear() 

     TextBox4.Clear() 
     TextBox5.Clear() 
     TextBox6.Clear() 
     TextBox7.Clear() 
    End Try 

End Sub 

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click 
    MySqlConn = New MySqlConnection 
    MySqlConn.ConnectionString = "Server = Localhost; database = venuesdb; user id = root; Password = " 
    Dim Reader As MySqlDataReader 

    Try 
     MySqlConn.Open() 
     Dim Query As String 
     Query = "Delete from venuesdb.Event where EventName = '" & ComboBox1.Text & "'" 
     Command = New MySqlCommand(Query, MySqlConn) 
     Reader = Command.ExecuteReader 

     MessageBox.Show("Booking Deleted") 
     MySqlConn.Close() 

    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
    Finally 
     MySqlConn.Dispose() 

    End Try 
End Sub 

Private Sub TabPage2_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    MySqlConn = New MySqlConnection 
    MySqlConn.ConnectionString = "Server = Localhost; database = venuesdb; user id = root; Password = " 
    Dim Reader As MySqlDataReader 

    Try 
     MySqlConn.Open() 
     Dim Query As String 
     Query = "Select * from venuesdb.Event" 
     Command = New MySqlCommand(Query, MySqlConn) 
     Reader = Command.ExecuteReader 
     While Reader.Read 
      Dim Bandname = Reader.GetString("EventName") 
      ComboBox1.Items.Add(Bandname) 
     End While 

     MySqlConn.Close() 

    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
    Finally 
     MySqlConn.Dispose() 
    End Try 

End Sub 

Private Sub BookingForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

End Sub 

Private Sub TabPage3_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    MySqlConn = New MySqlConnection 
    MySqlConn.ConnectionString = "Server = Localhost; database = venuesdb; user id = root; Password = " 
    Dim Reader As MySqlDataReader 

    Try 
     MySqlConn.Open() 
     Dim Query As String 
     Query = "Select * from venuesdb.Event" 
     Command = New MySqlCommand(Query, MySqlConn) 
     Reader = Command.ExecuteReader 
     While Reader.Read 
      Dim Bandname = Reader.GetString("EventName") 
      ComboBox2.Items.Add(Bandname) 
     End While 

     MySqlConn.Close() 

    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
    Finally 
     MySqlConn.Dispose() 

    End Try 
End Sub 

Private Sub ComboBox2_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox2.SelectedIndexChanged 
    MySqlConn = New MySqlConnection 
    MySqlConn.ConnectionString = "Server = Localhost; database = venuesdb; user id = root; Password = " 
    Dim Reader As MySqlDataReader 

    Try 
     MySqlConn.Open() 
     Dim Query As String 
     Query = "Select * from venuesdb.Event Where EventName = '" & ComboBox2.Text & "'" 
     Command = New MySqlCommand(Query, MySqlConn) 
     Reader = Command.ExecuteReader 
     While Reader.Read 
      TextBox14.Text = Reader.GetString("EventName") 
      TextBox13.Text = Reader.GetString("VenueID") 

      TextBox11.Text = Reader.GetString("EventStartTime") 
      TextBox10.Text = Reader.GetString("EventEndTime") 
      TextBox9.Text = Reader.GetString("EventID") 
      TextBox8.Text = Reader.GetString("CustomerID") 
      DateTimePicker2.Text = Reader.GetDateTime("EventDate") 

     End While 

     MySqlConn.Close() 

    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
    Finally 
     MySqlConn.Dispose() 

    End Try 
End Sub 

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click 
    MySqlConn = New MySqlConnection 
    MySqlConn.ConnectionString = "Server = Localhost; database = venuesdb; user id = root; Password = " 
    Dim Reader As MySqlDataReader 

    Try 
     MySqlConn.Open() 
     Dim Query As String 
     Query = "Update venuesdb.Event set EventName = '" & TextBox1.Text & "', VenueID = '" & TextBox2.Text & "', EventDate = '" & DateTimePicker2.Text & "'where EventName = '" & TextBox1.Text & "'" 
     Command = New MySqlCommand(Query, MySqlConn) 
     Reader = Command.ExecuteReader 

     MessageBox.Show("Booking Updated") 
     MySqlConn.Close() 

    Catch ex As Exception 
     MessageBox.Show(ex.Message) 
    Finally 
     MySqlConn.Dispose() 

    End Try 

    TextBox1.Clear() 
    TextBox2.Clear() 

    TextBox4.Clear() 
    TextBox5.Clear() 
    TextBox6.Clear() 
    TextBox7.Clear() 
End Sub 

我有不断弹出,当我点击一个按钮,一个错误的错误说“转换,从字符串“”到类型双无效” 正如你可以看到我没试过的东西转换翻一番

请帮助

+0

你确定这是抛出异常的地方吗?没有其他班级转换为“Double”? –

+0

不,我已经检查过所有表格,我还没有转换任何东西到双? –

+0

开关选项严格的开始以... –

回答

1

这将隐式尝试转换为Double尝试运行比较:

If TextBox1.Text = 0 Then 
    MessageBox.Show("Please enter text") 
End If 

您可能希望把它包起来(及任何其他事件)在

If Textbox1.Text <> "" Then 
    If TextBox1.Text = 0 Then 
     MessageBox.Show("Please enter text") 
    End If 
End If 

或者,甚至更好,变化它:

If TextBox1.Text.Length = 0 Then 
    .... 

If TextBox1.Text = "" Then 
    .... 

在比较之前比较长度不会尝试将其转换为双精度值。

+0

非常感谢,我已经把那个错误 –

+0

你应该将此标记为答案@JunaidMangerah。 –