2011-07-12 60 views
0

我的更新查询(从数据集向导构建)不会更新任何内容,也不会收到任何错误。VB.NET SQL UPDATE命令返回错误“参数未指定参数”。

我已经检查了我的参数(参数1),它是通过正确。

当调试我立即窗口updateta.insertquery()告诉我:未指定的参数“公共可重写功能UpdateQuery“StockNum”

参数(StockNum作为字符串,一年字符串,作出串,型号作为字符串,颜色作为字符串,位置作为字符串,TiresNeeded为布尔,StockIn截止日期?SvcRONum作为字符串,UCIStartDate截止日期?UCIEstCompleteDate截止日期?维修为布尔,CollisionRONum作为字符串,详细的日期?其他作为字符串,OnLot作为布尔值,OffProperty作为布尔值,作为布尔值出售,Original_RecNum作为整数)作为整数“。

为什么有质疑经过一番日期的痕迹?

这里是我的代码的VB代码。有任何想法吗??谢谢!!

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 

回答

0

至于Date之后的问号,我很肯定地表示Date是一个可为空的字段。你的数据库表在这些字段上是否允许NULL?

当您updateta.UpdateQuery之前把调试破发点吧,你一定StockNumTxt.Text具有价值?

+0

是的..我有每个字段设置为接受除身份以外的空值。 也是我困惑的原因之一是我的参数是“recnum”字段而不是stocknum,所以如果stocknum是空的(它不是) – JDV590

0

像周围日期#迹象访问。你有没有试过在你的日期值周围加上#