当前位置:编程学习 > C#/ASP.NET >>

急急急!!!麻烦各位高手,帮我解决一下这个问题

Public Class preOrder
        Public id As String
        Public Const style As String = "预定"
        Public rdate As Date
        Public num As String
    End Class

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sqlstr As String
        Dim order As New preOrder
        order = GetDataFromForm()
        If order.id = "" Then
            Exit Sub
        End If
        If order.num = "" Then
            Exit Sub
        End If
        sqlstr = "INSERT INTO 预订订单信息(预订订单号,预订类型,需求日期,房号桌号列表) VALUES ('" & order.id & "'," & _
        "'" & order.style & "','" & CDate(Now.ToShortDateString) & "','" & order.num & "')"
        If UpdateData(sqlstr) = True Then
            Me.ListBox1.Items.Add(Me.TextBox1.Text)
            MsgBox("订单添加成功!", MsgBoxStyle.OKOnly + _
            MsgBoxStyle.Exclamation, "登记成功")
        Else
            MsgBox("该订单已经存在,此次添加失败。", _
            MsgBoxStyle.OKOnly + MsgBoxStyle.Exclamation, "添加失败")
            Exit Sub
        End If
        GetAllData()
        ShowData(0)
        AlterStatus(True)
    End Sub

 Public Sub GetAllData()
        Dim sqlstr As String
        Dim ds As New DataSet
        ds.Clear()
        Me.ListBox1.Items.Clear()
        sqlstr = "SELECT 预订订单号 FROM 预订订单信息 WHERE 预订类型='预定'"
        ds = GetDataFromDB(sqlstr)
        Dim i As Integer
        Dim temp As String
        If Not ds Is Nothing Then
            For i = 0 To ds.Tables(0).Rows.Count - 1
                temp = Trim(ds.Tables(0).Rows(i)("预订订单号").ToString)
                Me.ListBox1.Items.Add(temp)
            Next
        End If
    End Sub

Public Function GetDataFromForm() As preOrder

        Dim order As New preOrder

        order.id = Trim(Me.TextBox1.Text)
        order.rdate = CDate(Me.DateTimePicker1.Value.ToShortDateString)
        order.num = Trim(Me.TextBox2.Text)


    End Function

 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim sqlstr As String
        sqlstr = "DELETE FROM 预订订单信息 WHERE 预订订单号=" & _
        "'" & Me.TextBox1.Text.Trim & "'"
        UpdateData(sqlstr)
        AlterStatus(False)
    End Sub
 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Dim order As New preOrder
        order = GetDataFromForm()
        If order.id = "" Then
            Exit Sub
        End If
        Dim sqlstr As String
        With order
            sqlstr = "UPDATE 预订订单信息 SET 需求日期='" & .rdate & "'," & _
            "桌号房号列表='" & .num & "' WHERE 预订订单号='" & .id & "'"
        End With
        UpdateData(sqlstr)
        AlterStatus(True)
    End Sub
 Private Sub frmOrderInfo_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        GetAllData()
        If Me.ListBox1.Items.Count > 0 Then
            Me.ListBox1.SetSelected(0, True)
            ShowData(0)
        End If
    End Sub
 Public Function ShowData(ByVal index As Integer)
        If index >= 0 Then

            Dim order As New preOrder

            order = getOrder(Trim(Me.ListBox1.SelectedItem.ToString))
            Me.TextBox1.Text = order.id
            Me.DateTimePicker1.Value = order.rdate
            Me.TextBox2.Text = order.num
        End If
    End Function

Public Function getOrder(ByVal orderid As String) As preOrder
        Dim sqlstr As String
        Dim order As New preOrder
        sqlstr = "SELECT * FROM 预订订单信息 WHERE 预订订单号='" & orderid & "'"
        Dim ds As New DataSet
        ds.Clear()
        ds = GetDataFromDB(sqlstr)
        If Not ds Is Nothing Then
            order.id = ds.Tables(0).Rows(0)("预订订单号")
            order.rdate = ds.Tables(0).Rows(0)("需求日期")
            order.num = ds.Tables(0).Rows(0)("房号桌号列表")
        End If
        Return order
    End Function
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
        Dim i As Integer
        i = Me.ListBox1.SelectedIndex
        If i >= 0 Then
            ShowData(i)
        End If
    End Sub
Public Sub AlterStatus(ByVal add As Boolean)
        Dim temp As String
        Dim str As String
        Dim num As Integer
        temp = Trim(Me.TextBox2.Text)
        Do While temp.Length > 0
            If temp.Length = 1 Then
                num = CInt(temp)
            Else
                str = temp.Substring(0, temp.IndexOf(","))
                num = CInt(str.Trim)
                temp = temp.Remove(0, str.Length + 1)
            End If
            Dim sqlstr As String
            If add = True Then
                sqlstr = "UPDATE 预订信息 SET 可用状态='被预定'" & _
                " WHERE 桌号='" & num & "'"
            Else
                sqlstr = "UPDATE 预订信息 SET 可用状态='空闲' " & _
                "WHERE 桌号='" & num & "'"
            End If
            UpdateData(sqlstr)
        Loop
    End Sub
End Class

运行的时候,会弹出错误提示“未将对象引用设置到对象的实例” 并标记 order = getOrder(Trim(Me.ListBox1.SelectedItem.ToString))  这句话

跪求各位高手帮帮忙!!!!小弟感激不尽

--------------------编程问答-------------------- Me.ListBox1.SelectedItem.ToString 这个没取到东东吧,是不是NOTHING状态啊 --------------------编程问答-------------------- 怎么看是不是 NOTHING状态啊? --------------------编程问答-------------------- Me.ListBox1.SelectedItem没有选择
为null --------------------编程问答-------------------- If ListBox1.SelectedItem IsNot Nothing Then
End If --------------------编程问答--------------------
引用 4 楼 wuyq11 的回复:
If ListBox1.SelectedItem IsNot Nothing Then
End If


我实在是个菜鸟,麻烦了 能不能具体点指出应该写在哪儿啊?焦头烂额中…… --------------------编程问答--------------------
引用 4 楼 wuyq11 的回复:
If ListBox1.SelectedItem IsNot Nothing Then
End If


非常感谢!!!好用了 嘿嘿 --------------------编程问答-------------------- --------------------编程问答-------------------- 谁能来点视频vb2008
补充:.NET技术 ,  VB.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,