我創建了一個功能,用於執行我的數據錯誤`您必須聲明標量變量「@ ....」'
Public Function Excuter(ByVal Query As String)
If cn.State = ConnectionState.Open Then cn.Close()
cn.Open()
Try
cmd.CommandText = (Query)
cmd.ExecuteNonQuery()
cn.Close()
Catch ex As Exception
cn.Close()
MsgBox(ex.ToString())
End Try
End Function
,這是我的插入代碼
Excuter("INSERT INTO Table_PatientDetail (Patient_ID , Patient_Name , Age,Sex , Phone_Number , Address, Check_In_ID, Check_Out_ID , Service , Transfer , Patient_Result) VALUES (@Patient_ID , @Patient_Name , @Age, @Sex , @Phone_Number , @Address, @Check_In_ID , @Check_Out_ID , @Service , @Transfer , @Patient_Result)")
cmd.Parameters.AddWithValue("@Patient_ID", .PatientIDPatientInformation.Text)
cmd.Parameters.AddWithValue("@Patient_Name", .PatientNamePatientInformation.Text)
cmd.Parameters.AddWithValue("@Age", .AgePatientInformation.Text)
cmd.Parameters.AddWithValue("@Sex", .ComboBox1.Text)
cmd.Parameters.AddWithValue("@Phone_Number", .PhoneNumPatientInformation.Text)
cmd.Parameters.AddWithValue("@Address", .AddressPatientInformation.Text)
cmd.Parameters.AddWithValue("@Check_In_ID", .CIID.Text)
cmd.Parameters.AddWithValue("@Check_Out_ID", .COID.Text)
cmd.Parameters.AddWithValue("@Service", .Cboservice.SelectedValue)
cmd.Parameters.AddWithValue("@Transfer", .TransferPatientInformation.Text)
cmd.Parameters.AddWithValue("@Patient_Result", .ComboBox3.Text)
當我測試它,它顯示此錯誤Must Declare Scalar Variable"@Patient_Name"
;我不明白。
你認爲這個錯誤的含義是什麼?你熟悉sql服務器還是任何編程語言變量? –
你是否在調用'Executer'之後設置Param值**?在片段中看起來如此。 – Plutonix
所以你有一個全局變量來執行叫做cmd的命令。 (而且這足以讓我發抖),但是你可以調用Excuter方法,在設置參數集之前傳遞一個填充參數的字符串。不要驚訝,如果sqlserver大吼你。 – Steve