作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试写入我的数据库,它几乎完成了,我遇到的唯一问题是 radio 值,因为网络表单中询问了两个问题,两个问题的回答都是"is"或“否”。我找到了一个示例这是 stackover 流程上的
Dim rbval As Integer
If RadioButton1.Checked Then
rbval = 1
Else
rbval = 2
End If
cmd.Parameters.Add(New SqlParameter("@ethics", SqlDbType.Int))
cmd.Parameters("@ethics").Value = rbval
但它不起作用,并不断向我提供错误消息并突出显示代码的 cmd.ExecuteNonQuery 部分。然后我尝试使用它并输入:
Dim rbval As Integer
If RadYes0.Checked Then
rbval = 1
Else
rbval = 2
End If
cmd.Parameters.Add("@TeaAndCoffee", SqlDbType.Text).Value = RadYes0.Text
当我选择"is"时,它确实起作用,但是当我选择“否”时,"is"值继续存储在数据库中,我可以从代码中看到我出错的地方,因为它总是会从我的值中选择"is"试图修复。我想知道是否有人有任何建议?以下是完整代码
Dim Con As SqlConnection
Dim cmd As SqlCommand
Dim recordsAffected As String
Dim cmdstring As String = "INSERT [Event Table](EventTypeID, EventName, VenueName, NumberOfGuests, Date, ClientAddress, WeddingName, BuildingAddress, Canapes, Starter, MainCourse, Dessert, TeaAndCoffee) Values(@EventTypeID, @EventName, @VenueName, @NumberOfGuests, @Date, @ClientAddress, @WeddingName, @BuildingAddress, @Canapes, @Starter, @MainCourse, @Dessert, @TeaAndCoffee)"
Con = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\YellowDoor.mdf;Integrated Security=True;User Instance=True")
cmd = New SqlCommand(cmdstring, Con)
cmd.Parameters.Add("@EventTypeID", SqlDbType.Text).Value = EventTypeDD.SelectedValue
cmd.Parameters.Add("@EventName", SqlDbType.Text).Value = EventNametxt.Text
cmd.Parameters.Add("@VenueName", SqlDbType.Text).Value = VenueLoDD.SelectedValue
cmd.Parameters.Add("@NumberOfGuests", SqlDbType.Int).Value = CInt(NumOfGtxt.Text)
cmd.Parameters.Add("@Date", SqlDbType.Int).Value = CInt(DateTxt.Text)
cmd.Parameters.Add("@ClientAddress", SqlDbType.Text).Value = txtAddress.Text
cmd.Parameters.Add("@WeddingName", SqlDbType.Text).Value = txtWedding.Text
cmd.Parameters.Add("@BuildingAddress", SqlDbType.Text).Value = txtBAddress.Text
cmd.Parameters.Add("@Canapes", SqlDbType.Text).Value = txtCanapes.Text
cmd.Parameters.Add("@Starter", SqlDbType.Text).Value = txtStarter.Text
cmd.Parameters.Add("@MainCourse", SqlDbType.Text).Value = txtMainCourse.Text
cmd.Parameters.Add("@Dessert", SqlDbType.Text).Value = txtDessert.Text
Dim rbval As Integer
If RadYes0.Checked Then
rbval = 1
Else
rbval = 2
End If
cmd.Parameters.Add("@TeaAndCoffee", SqlDbType.Text).Value = RadYes0.Text
Con.Open()
recordsAffected = cmd.ExecuteNonQuery
Con.Close()
Response.Redirect("MenuForm.aspx")
End Sub
最佳答案
查看 SQL 数据库中的表列类型。如果它有点(最合乎逻辑的方式),它就像一个馅饼一样简单:
cmd.Parameters.Add("@Yourparam", SqlDbType.Bit).Value = IIf (Radyes0.Checked,1,0)
对于字符类型:
cmd.Parameters.Add("@Yourparam", SqlDbType.Char).Value = IIf (Radyes0.Checked,"Y","N")
对于 NVarchar 类型:
cmd.Parameters.Add("@Yourparam", SqlDbType.Nvarchar).Value = IIf (Radyes0.Checked,"Yes","No")
简单地看看你的表格设计就会知道你需要哪个句子。始终使用与数据库相同的数据类型。
顺便说一句:原因是因为这个例子
Dim rbval As Integer
If RadYes0.Checked Then
rbval = 1
Else
rbval = 2
End If
cmd.Parameters.Add("@TeaAndCoffee", SqlDbType.Text).Value = RadYes0.Text
总是将 Yes 保存到您的数据库中,是因为 radiobutton.text 给出了单选按钮的文本标签,我相信您有一个表示 yes 的单选按钮和一个表示 no 的单选按钮,对吗?
关于mysql - 如何将单选按钮值写入 Sql 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27946239/
我是一名优秀的程序员,十分优秀!