Asp.net 输入框中的数据未插入数据库
我制作此表单是为了在数据库中插入信息。我不知道错误是从哪里来的。它不是将信息从输入字段插入数据库 这是我的密码:Asp.net 输入框中的数据未插入数据库,asp.net,vb.net,Asp.net,Vb.net,我制作此表单是为了在数据库中插入信息。我不知道错误是从哪里来的。它不是将信息从输入字段插入数据库 这是我的密码: Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click Dim id, name, description, code, cat_industry, cat_theme, cat_occasion, cat_budge
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim id, name, description, code, cat_industry, cat_theme, cat_occasion, cat_budget As String
id = product_id.Text
name = product_name.Text
description = product_description.Text
code = item_code.Text
cat_industry = industry.SelectedValue
cat_theme = theme.SelectedValue
cat_occasion = occasion.SelectedValue
cat_budget = budget.SelectedValue
Try
Dim str1 As String = "insert into product (ID, Product_Name, Product_Description, Item_Code, Industry, Theme, Occasion, Budget) values ('" + id + "', '" + name + "', '" + description + "', '" + code + "', '" + cat_industry + "', '" + cat_theme + "', '" + cat_occasion + "', '" + cat_budget + "')"
con.Open()
Dim cmd As New SqlCommand(str1, con)
cmd.ExecuteNonQuery()
con.Close()
Catch ex As Exception
Response.Write(ex)
End Try
End Sub
您的列名不能用空格引用为
Product Name
和Product Description
——您需要将其转义为[Product Name]、[Product Description]
等
但是,请不要直接插入数据-相反,您应该是您的输入变量。从性能和安全性(Sql注入)的角度来看,这都有好处
Dim str1 As String = "insert into product (ID, [Product Name], [Product Description], Item_Code, etc) " _
" values (@id, @name, @description, @code, etc)"
con.Open()
Dim cmd As New SqlCommand(str1, con)
cmd.Parameters.AddWithValue("@id", id )
cmd.Parameters.AddWithValue("@name", name )
... etc
cmd.ExecuteNonQuery()
您要求使用insert语句进行SQL注入。请使用参数化查询,而不要使用。请注意,您似乎已将原始问题编辑为新问题,从而丢失了原始问题的上下文。如果您现在在
复选框
中遇到其他问题,请恢复编辑并提出新问题。最初的问题是关于Sql数据插入错误的。