mySqlデータベースにドロップダウンリストの値を挿入する際に問題があります。 "INSERT文には、VALUES句で指定された値よりも少ない列があります。VALUES句の値の数は、INSERT文で指定された列の数と一致する必要があります。データベースへの挿入に関する問題(asp.net、vb.net)
1つのドロップダウンリストから値2を選択し、2番目のドロップダウンリストも同じ番号を選択すると、問題なく挿入されます。値が違う(互いに等しくない)場合、それは私にその問題を与えます。
Imports System.Data
Imports System.Data.SqlClient
Partial Class Bevestiging
Inherits System.Web.UI.Page
Dim con As New SqlConnection(" server=BOYAN\SQLEXPRESS; Initial Catalog=GipDatabase; User ID=sa; Password=DitIs1SuperGoedW8woord!")
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
LblFilmnaam.Text = Session("filmnaam")
LblDatum.Text = Session("datum")
Lbltijd.Text = Session("tijd")
LblAantalKin.Text = Session("Aantalkin")
LblAantalVol.Text = Session("AantalVol")
LblTypeZaal.Text = Session("Zaaltype")
LblPrijs.Text = Session("prijs")
End Sub
Protected Sub BtnBevestigen_Click(sender As Object, e As EventArgs) Handles BtnBevestigen.Click
Dim cmd As New SqlCommand()
cmd.Connection = con
cmd.CommandType = CommandType.Text
con.Open()
cmd.CommandText = "insert into TblReserveren(Filmnaam,datum, tijd, Aantalvolwassenen, Aantalkinderen, TypeZaal, Prijs, GebruikerID) Values('" + LblFilmnaam.Text.ToString + "','" + LblDatum.Text + "','" + Lbltijd.Text + "','" + LblAantalVol.Text + "','" + LblAantalKin.Text + "', '" + LblTypeZaal.Text + "', " + LblPrijs.Text + " , (Select ID from TblGebruiker Where Username = '" + Session("Username") + "'))"
cmd.ExecuteNonQuery()
'MessageBox("De film Is gereserveerd!")
'Response.Write("De film Is gereserveerd!")
con.Close()
End Sub
End Class
まず、[Option Strict On](https://msdn.microsoft.com/en-us/library/zcd4xwzs.aspx)を有効にして、それが指摘する問題を修正する必要があります。次に、* SQLパラメータ*の使用方法を調べて、それらをクエリに使用する必要があります.SQLインジェクション攻撃に対してより安全で、アポストロフィを使用してデータを処理します。 –
動的SQLを生成するのではなく、実際に変数をバインドする必要があります。また、小数点記号としてカンマを使用していますか? –
表示されているコードにドロップダウンリストはありません。 –