gpt4 book ai didi

mysql - 如何将单选按钮值写入 Sql 数据库?

转载 作者:行者123 更新时间:2023-11-29 23:13:55 24 4
gpt4 key购买 nike

我一直在尝试写入我的数据库,它几乎完成了,我遇到的唯一问题是 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com