【问题标题】:sqldatabase variable declaration from a listbox in Vb.net 2010来自 Vb.net 2010 中列表框的 sqldatabase 变量声明
【发布时间】:2013-12-21 23:31:10
【问题描述】:

我正在尝试将所选项目从列表框中保存到数据库,但是当我从列表框中选择项目时,我收到一个运行时错误,即未声明变量(RomID)。这是代码。我错过了什么?!

    If (con.State = ConnectionState.Closed) Then
        con.Open()
    End If


    Dim Name As SqlParameter = New SqlParameter("@Name", TxtName.Text)
    Dim Pass As SqlParameter = New SqlParameter("@PassportNum", TxtPassNum.Text)
    Dim Mobile As SqlParameter = New SqlParameter("@PhoneNUm", TxtMobile.Text)
    Dim RomID As SqlParameter = New SqlParameter("@ID", Integer.Parse(ListBox1.SelectedItem))
    Dim ChckIn As SqlParameter = New SqlParameter("@CheckIndate", DateTime.Now.Date)
    Dim Email As SqlParameter = New SqlParameter("@Email", TxtEmail.Text)

    Cmd.Parameters.Add(Name)
    Cmd.Parameters.Add(Pass)
    Cmd.Parameters.Add(Mobile)
    Cmd.Parameters.Add(RomID)
    Cmd.Parameters.Add(ChckIn)
    Cmd.Parameters.Add(Email)
    Cmd.CommandText = "Update Rooms set Status ='Booked' where ID = @RomID"
    Cmd.ExecuteNonQuery()
    Cmd.CommandText = "insert into Reservation(RoomID,GuestName,PassportNum,PhoneNUm,CHeckIndate,Email) VALUES(@RomID,@Name,@Pass,@Mobile,@ChckIn,@Email)"
    Cmd.ExecuteNonQuery()
    MessageBox.Show("Reservation Was Successful")

【问题讨论】:

    标签: sql-server vb.net vb.net-2010 listboxitem


    【解决方案1】:

    我没有以同样的方式声明你可以试试这个:

    删除:

    Dim RomID As SqlParameter =
      New SqlParameter("@ID", Integer.Parse(ListBox1.SelectedItem))
    

    试试这样的:

    command.Parameters.Add("@ID", SqlDbType.Int)
    command.Parameters("@ID").Value = Integer.Parse(ListBox1.SelectedItem)
    

    【讨论】:

    • 在 VB 2010 中我不能有“command.parameters”。每次我尝试输入时都会出错!
    • 尝试像这样删除它:Using connection As New SqlConnection(connectionString) Dim command As New SqlCommand(commandText, connection) 这是来自 MSDN 示例:msdn.microsoft.com/en-us/library/…
    【解决方案2】:

    你有这个:

    Dim RomID As SqlParameter =
      New SqlParameter("@ID", Integer.Parse(ListBox1.SelectedItem))
    

    我认为你的意思是:

    Dim RomID As SqlParameter =
      New SqlParameter("@RomID", Integer.Parse(ListBox1.SelectedItem))
    

    【讨论】:

    • 我尝试过改变它,但我最终都面临同样的错误!
    猜你喜欢
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多