我的应用程序的添加和插入功能不起作用。我不知道我做错了什么。你能找到任何错误吗?请帮忙!
这是我的代码:
Protected Sub btnConfirm_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnConfirm.Click
Dim connString As String
connString = "Data Source=.\SQLEXPRESS;AttachDbFilename=E:\\boomwebsite\App_Data\playaazaleaDatabase.mdf;Integrated Security=True;User Instance=True"
Dim cmd As New SqlCommand
Dim myConnection As New Data.SqlClient.SqlConnection(connString)
Try
myConnection.Open()
cmd.CommandText = "INSERT INTO reservations(fname, lname, contactnumber, amenities, date, price, status, statuscount) VALUES (@FNAME, @LNAME, @CONTACT, @AMENITIES, @DATE, @PRICE, @STATUS, @STATUSCOUNT)"
cmd.Connection = myConnection
cmd.Parameters.AddWithValue("@FNAME", txtboxFname.Text)
cmd.Parameters.AddWithValue("@LNAME", txtboxLname.Text)
cmd.Parameters.AddWithValue("@CONTACT", txtboxContact.Text)
cmd.Parameters.AddWithValue("@AMENITIES", DropDownListAmenities.SelectedItem.Value)
cmd.Parameters.AddWithValue("@DATE", txtboxDate.Text)
cmd.Parameters.AddWithValue("@PRICE", txtboxPrice.Text)
cmd.Parameters.AddWithValue("@STATUS", txtboxStatus.text)
cmd.Parameters.AddWithValue("@STATUS2", txtboxStatus2.text)
cmd.ExecuteNonQuery()
Response.Redirect("bookedreservations.aspx")
Catch ex As Exception
Label1.text = "Error Inserting Data ..."
Finally
myConnection.Close()
End Try
End Sub
答案 0 :(得分:0)
好吧,有一个异常处理程序写出..“错误插入数据”...没有告诉你什么是错误似乎有点无用,至少写
Catch ex As Exception
Label1.text = "Error Inserting Data ... " & ex.Message
...
将显示您的查询出了什么问题。
然而,在该查询中存在一个很大的疑问。 Date几乎是任何数据库系统中的保留关键字。如果你想使用它,请用方括号括起来
cmd.CommandText = "INSERT INTO reservations(fname, lname, " & _
"contactnumber, amenities, [date], price, status, statuscount) " & _
"VALUES (@FNAME, @LNAME, @CONTACT, @AMENITIES, @DATE, " & _
"@PRICE, @STATUS, @STATUSCOUNT)"
另一个可能的问题是方法AddWithValue。这种方法虽然方便,但在使用它时需要充分注意。它创建一个带有数据类型的参数,该数据类型假定查看您传递的值的数据类型。例如,在您的情况下,price
字段应该是nvarchar字段,因为您传递了一个字符串的txtboxPrice.Text属性。
最好使用
cmd.Parameters.Add("@PRICE", SqlDbType.Decimal).Value = Convert.ToDecimal(txtboxPrice.Text)
等等其他参数。