[英]VB.NET SQL UPDATE command returns error “Argument not specified for parameter.”
My update query (built from the dataset wizard) does not update anything and I am not receiving any errors.我的更新查询(从数据集向导构建)没有更新任何内容,也没有收到任何错误。
I have checked my parameter (param1) and it is passing correctly.我检查了我的参数(param1)并且它正确传递。
When I debug my immediate window updateta.insertquery() tells me this:当我调试我的即时 window updateta.insertquery() 告诉我这个:
Argument not specified for parameter 'StockNum' of 'Public Overridable Function UpdateQuery(StockNum As String, Year As String, Make As String, Model As String, Color As String, Location As String, TiresNeeded As Boolean, StockIn As Date?, SvcRONum As String, UCIStartDate As Date?, UCIEstCompleteDate As Date?, Repairs As Boolean, CollisionRONum As String, Detail As Date?, Other As String, OnLot As Boolean, OffProperty As Boolean, Sold As Boolean, Original_RecNum As Integer) As Integer'.
Argument not specified for parameter 'StockNum' of 'Public Overridable Function UpdateQuery(StockNum As String, Year As String, Make As String, Model As String, Color As String, Location As String, TiresNeeded As Boolean, StockIn As Date?, SvcRONum As String, UCIStartDate As Date?, UCIEstCompleteDate As Date?, Repairs As Boolean, CollisionRONum As String, Detail As Date?, Other As String, OnLot As Boolean, OffProperty As Boolean, Sold As Boolean, Original_RecNum As Integer) As Integer'.
why are there question marks after some of the dates??为什么有些日期后面有问号??
here is my code vb code.这是我的代码vb代码。 Any ideas??
有任何想法吗?? Thanks!!
谢谢!!
Protected Sub SubmitBTN_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles UpdateBTN.Click
Dim updateta As New DataSet1TableAdapters.MasterTableAdapter
updateta.UpdateQuery(StockNumTxt.Text, YearTxt.Text, MakeTxt.Text, ModelTxt.Text, ColorTxt.Text, LocationDropDownList.SelectedValue, TiresCHK.Checked, StockInDateTxt.Text, SrvcROnumTxt.Text, UCIStartDateTxt.Text, UCIEstComDateTXT.Text, RepairsCheckBX.Checked, CollisionRONumTXT.Text, DetailTXTbox.Text, OtherTxt.Text, OnLotCheckBX.Checked, OffPropertyCheckBX.Checked, SoldCheckBX.Checked, Request.QueryString("param1"))
Response.Redirect("success.aspx")
End Sub
Function myCStr(ByVal test As Object) As String
If isdbnull(test) Then
Return ("")
Else
Return CStr(test)
End If
End Function
Public Shared Function IsDBNull( _
ByVal value As Object _
) As Boolean
Return DBNull.Value.Equals(value)
End Function
Private Sub getData(ByVal user As String)
'declare variables to fill
Dim stock As String, make As String, color As String, stockin As Date, ucistart As Date, repairs As Boolean, _
tires As Boolean, onlot As Boolean, sold As Boolean, year As Boolean, model As String, location As String, srvcRO As String, ucicompldate As Date, _
collRO As String, other As String, offprop As Boolean, detail As Date
Dim dt As New DataTable()
Dim connection As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Jason\Desktop\UsedCarProductionSched\UsedCars.accdb;Persist Security Info=False;")
connection.Open()
Dim sqlcmd As String = "SELECT * from Master WHERE RecNum = @recnum"
Dim FileCommand3 As New OleDb.OleDbCommand(sqlcmd, connection)
FileCommand3.Parameters.AddWithValue("@recnum", user)
Dim Reader3 As OleDb.OleDbDataReader = FileCommand3.ExecuteReader()
If Reader3.Read Then
stock = myCStr(Reader3("StockNum"))
make = myCStr(Reader3("Make"))
color = myCStr(Reader3("Color"))
stockin = IIf(Reader3("stockin") Is DBNull.Value, Nothing, Reader3("stockin"))
ucistart = IIf(Reader3("ucistartdate") Is DBNull.Value, Nothing, Reader3("ucistartdate"))
repairs = Reader3("Repairs")
tires = Reader3("tiresneeded")
onlot = Reader3("onlot")
sold = Reader3("sold")
year = myCStr(Reader3("year"))
model = myCStr(Reader3("model"))
location = myCStr(Reader3("location"))
srvcRO = myCStr(Reader3("svcROnum"))
ucicompldate = IIf(Reader3("uciestcompletedate") Is DBNull.Value, Nothing, Reader3("uciestcompletedate"))
collRO = myCStr(Reader3("collisionROnum"))
other = myCStr(Reader3("other"))
offprop = Reader3("offProperty")
detail = IIf(Reader3("detail") Is DBNull.Value, Nothing, Reader3("detail"))
End If
connection.Close()
If detail <> Nothing Then
DetailTXTbox.Text = detail.ToString("M/dd/yyyy")
Else : DetailTXTbox.Text = ""
End If
If ucicompldate <> Nothing Then
UCIEstComDateTXT.Text = ucicompldate.ToString("MM/dd/yyyy")
Else : UCIEstComDateTXT.Text = ""
End If
If stockin <> Nothing Then
StockInDateTxt.Text = stockin.ToString("MM/dd/yyyy")
Else : StockInDateTxt.Text = ""
End If
If ucistart <> Nothing Then
UCIStartDateTxt.Text = ucistart.ToString("M/dd/yyyy")
Else : UCIStartDateTxt.Text = ""
End If
StockNumTxt.Text = stock
MakeTxt.Text = make
ColorTxt.Text = color
RepairsCheckBX.Checked = repairs
TiresCHK.Checked = tires
OnLotCheckBX.Checked = onlot
SoldCheckBX.Checked = sold
YearTxt.Text = year
ModelTxt.Text = model
If location <> Nothing Then
LocationDropDownList.SelectedValue = location
End If
SrvcROnumTxt.Text = srvcRO
CollisionRONumTXT.Text = collRO
OtherTxt.Text = other
OffPropertyCheckBX.Checked = offprop
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
getData(Request.QueryString("param1"))
End Sub
As for the question marks after Date?, I'm pretty sure that indicates the Date is a nullable field.至于 Date? 之后的问号,我很确定这表明 Date 是一个可为空的字段。 Does your database table allow NULL on those fields?
您的数据库表是否允许在这些字段上使用 NULL?
When you put a debug break point right before your updateta.UpdateQuery, are you certain StockNumTxt.Text has a value?当您在 updateta.UpdateQuery 之前放置一个调试断点时,您确定 StockNumTxt.Text 有一个值吗?
Access like #
signs around dates.访问日期周围的
#
符号。 Have you tried putting #
signs around your date values?您是否尝试在日期值周围加上
#
符号?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.