Asp.net 标量变量问题
标量变量问题。表示代码需要声明fname标量变量的输出。下面显示的代码。任何帮助都将不胜感激Asp.net 标量变量问题,asp.net,vb.net,visual-studio,Asp.net,Vb.net,Visual Studio,标量变量问题。表示代码需要声明fname标量变量的输出。下面显示的代码。任何帮助都将不胜感激 Dim conn As SqlConnection Dim cmd As SqlCommand Dim fname As String = firstname.Text Dim strSurname As String = surname.Text Dim strAddress As String = address.Text Dim strGraveType As String Dim Grave
Dim conn As SqlConnection
Dim cmd As SqlCommand
Dim fname As String = firstname.Text
Dim strSurname As String = surname.Text
Dim strAddress As String = address.Text
Dim strGraveType As String
Dim GraveNo1 As String
Dim GraveNo2 As String
Dim GraveNo3 As String
Dim filename As String
Dim photoFilePath As String
If Not radSingle.Checked Or radDouble.Checked Or radTreble.Checked Then
MsgBox("Please Select a Grave Type")
ElseIf radSingle.Checked Then
strGraveType = "Single"
ElseIf radDouble.Checked Then
strGraveType = "Double"
ElseIf radTreble.Checked Then
strGraveType = "Treble"
End If
GraveNo1 = txtGraveNo1.Text
GraveNo2 = txtGraveNo2.Text
GraveNo3 = txtGraveNo3.Text
If GravePhotoUpload.HasFile Then
If GravePhotoUpload.PostedFile.ContentType = "image/jpeg" Then
Try
filename = Path.GetFileName(GravePhotoUpload.FileName)
GravePhotoUpload.SaveAs(Server.MapPath("../Images/") + filename)
photoFilePath = "Images/" + filename
Catch ex As Exception
MsgBox("ERROR - The file could not be uploaded. The following error occured: " + ex.Message)
End Try
Else
MsgBox("Please upload a JPG File Format")
End If
End If
Dim cmdstring As String = "INSERT INTO DeathRecords(FirstName, Surname, Address, GraveType, GraveNo1, GraveNo2, GraveNo3, GravePhoto) Values (@Fname, @strSurname, @strAddress, @strGraveType, @GraveNo1, @GraveNo1, @GraveNo3, @photoFilePath)"
conn = New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\DrumcreeCemetery.mdf;Integrated Security=True")
cmd = New SqlCommand(cmdstring, conn)
cmd.Parameters.AddWithValue("@FirstName", fname)
cmd.Parameters.AddWithValue("@Surname", strSurname)
cmd.Parameters.AddWithValue("@Address", strAddress)
cmd.Parameters.AddWithValue("@GraveType", strGraveType)
cmd.Parameters.AddWithValue("@GraveNo1", GraveNo1)
cmd.Parameters.AddWithValue("@GraveNo2", GraveNo2)
cmd.Parameters.AddWithValue("@GraveNo3", GraveNo3)
cmd.Parameters.AddWithValue("@GravePhoto", photoFilePath)
Try
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
查询中定义的参数:
Dim cmdstring As String = "INSERT INTO DeathRecords(FirstName, Surname, Address, GraveType, GraveNo1, GraveNo2, GraveNo3, GravePhoto) Values (@Fname, @strSurname, @strAddress, @strGraveType, @GraveNo1, @GraveNo1, @GraveNo3, @photoFilePath)"
与您在命令上设置的参数不匹配:
cmd.Parameters.AddWithValue("@FirstName", fname)
cmd.Parameters.AddWithValue("@Surname", strSurname)
cmd.Parameters.AddWithValue("@Address", strAddress)
cmd.Parameters.AddWithValue("@GraveType", strGraveType)
cmd.Parameters.AddWithValue("@GraveNo1", GraveNo1)
cmd.Parameters.AddWithValue("@GraveNo2", GraveNo2)
cmd.Parameters.AddWithValue("@GraveNo3", GraveNo3)
cmd.Parameters.AddWithValue("@GravePhoto", photoFilePath)
例如,您的查询对FirstName使用了
@Fname
,而对FirstName参数指定了@FirstName
。大多数其他变量也是如此。如果命令中给定的参数名称与查询中的参数名称不匹配,则该命令无法将指定的参数链接到查询所需的参数,从而导致出现错误。阅读您的查询-您在那里使用了@Fname
,但对参数使用了@FirstName