未处理的异常问题vb.net

时间:2014-01-03 07:24:17

标签: mysql vb.net windows

我创建了一个简单的表单来调用数据库中的数据并且它运​​行良好。问题是它在某些计算机上不起作用。我已经尝试在5台不同的计算机上运行它,其中只有3台执行它应该是。其他2台计算机显示弹出未处理的异常错误,即“字符串未被识别为有效的日期时间”。当我点击弹出窗口中的“详细信息”按钮时,它显示错误在这行代码中: -

 SQLConnection.Open()
 cmd = New MySqlCommand("SELECT * FROM jobimport WHERE no =('" & jobid & "')",     SQLConnection)

 read = cmd.ExecuteReader

    If read.HasRows = False Then
        '  MessageBox.Show("No record found", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)


    Else
        Do While read.Read

            date1 = read("date")
            jobno = read("jobno")
            marking = read("marking")
            consignee = read("consignee")
            hblno = read("hblno")
            blno = read("blno")
            eta = read("eta")
            vessel = read("vessel")
            description = read("description")

        Loop

        DateTimePicker1.Value = DateTime.Parse(date1) ' <--- Error on this line
        TextBox1.Text = jobno
        TextBox2.Text = marking
        TextBox3.Text = consignee
        TextBox13.Text = hblno
        TextBox4.Text = blno
        TextBox6.Text = vessel
        TextBox7.Text = description

       End If

    SQLConnection.Close()
    SQLConnection.Dispose()

上面的所有变量都是字符串数据类型。

我尝试通过这样做来解决这个问题

    DateTimePicker1.Text = date1

和这个

    DateTimePicker1.Value = Convert.ToDateTime(date1)

但它仍然在这两台计算机上发出相同的错误,而其他3台计算机运行良好而没有问题。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

尝试更改此行:

DateTimePicker1.Value = DateTime.Parse(date1)

使用ParseExact提供相关的CultureInfo作为第三个参数。例如:

DateTimePicker1.Value = DateTime.ParseExact(date1, "d/m/yyyy", CultureInfo.InvariantCulture)

使用ParseExact,应用程序将使用提供的CultureInfo解析您的日期字符串,无论其运行的计算机使用何种语言环境设置。