【发布时间】:2017-08-31 15:16:25
【问题描述】:
我在尝试运行页面时不断收到此错误消息..
参数化查询“(@Medication nvarchar(14),@Quantity nvarchar(9),@RequestedDate n”需要参数“@RequestedDate”,但未提供。
这是我的代码隐藏文件:
Dim conn As SqlConnection
Dim cmd As SqlCommand
'Getting today's date to store into database to let staff know when prescription was ordered
'reference for this code : - https://msdn.microsoft.com/en-us/library/system.datetime.today(v=vs.110).aspx
Dim thisDay As DateTime = DateTime.Today
Session("DateRequested") = (thisDay.ToString())
Dim Medication As String
Dim Quantity As String
Dim RequestedDate As String
Dim Pharmacy As String
Dim PatientNumber As String
Medication = txtDrug1.Text + " " + txtDrug2.Text + " " + txtDrug3.Text + " " + txtDrug4.Text + " " + txtDrug5.Text
Quantity = txtQuant1.Text + " " + txtQuant2.Text + " " + txtQuant3.Text + " " + txtQuant4.Text + " " + txtQuant5.Text
RequestedDate = Session("Date Requested")
PatientNumber = Session("PatientNumber")
Pharmacy = txtPharmacy.Text
Dim cmdstring As String = "INSERT INTO Prescription (Medication, QntyandStrength, RequestedDate, Pharmacy, PatientNumber) Values (@Medication, @Quantity, @RequestedDate, @Pharmacy, @PatientNumber)"
conn = New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\User\Documents\Visual Studio 2015\WebSites\myAppointments\App_Data\Database.mdf;Integrated Security=True")
cmd = New SqlCommand(cmdstring, conn)
cmd.Parameters.AddWithValue("@Medication", Medication)
cmd.Parameters.AddWithValue("@Quantity", Quantity)
cmd.Parameters.AddWithValue("@RequestedDate", RequestedDate)
cmd.Parameters.AddWithValue("@Pharmacy", Pharmacy)
cmd.Parameters.AddWithValue("@PatientNumber", PatientNumber)
conn.Open()
cmd.ExecuteNonQuery()
conn.Close()
MsgBox("Your Prescription Has Been Requested!")
数据库类型有:
[PrescriptionNumber] INT NOT NULL,
[Medication] NVARCHAR(250) NULL,
[QntyandStrength] NVARCHAR(250) NULL,
[RequestedDate] NVARCHAR(70) NULL,
[Pharmacy] VARCHAR (50) NULL,
[PatientNumber] CHAR (10) NULL,
关于如何改变这一点有什么建议吗?
【问题讨论】:
-
为什么要将日期存储为字符串?
-
同时使用
.Add而不是.AddWithValue -
您确定在这一行
RequestedDate = Session("Date Requested")上RequestedDate有一个实际 值而不是Nothing? -
我假设它来自我声明的变量,该变量将今天的日期分配给它
-
它没有完全显示日期变量声明
标签: sql asp.net vb.net visual-studio