2011-07-12 41 views
0

私の更新クエリ(データセットウィザードから作成)は何も更新しないため、エラーは発生していません。VB.NET SQL UPDATEコマンドは、エラー "引数がパラメータに指定されていません"を返します。

私は自分のパラメータ(param1)をチェックしており、正しく渡しています。私は()は、この私に語った私の即時ウィンドウupdateta.insertqueryをデバッグするとき

引数パラメータ公共オーバーライド可能機能UpdateQuery」のStockNum 'の指定された文字列として、年として(StockNumない、として作ります文字列としてのモデル、文字列としての色、文字列としての色、文字列としての位置、ブール値としてのTiresNeeded、日付としてのStockIn、日付としてのSvcRONum、日付としてのUCIStartDate、日付としてのUCIEstCompleteDate、BooleanとしてのCollisionRONum、StringとしてのCollisionRONum、その他の文字列、OnLot As Boolean、OffProperty As Boolean、Booleanとして販売、Original_RecNum As Integer)As Integer '。

なぜいくつかの日付の後に疑問符がありますか?

ここに私のコード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

?私は日がNULL可能フィールドであることを示しているかなり確信しています。あなたのデータベーステーブルはこれらのフィールドにNULLを許可しますか?

updateta.UpdateQueryの直前にデバッグブレークポイントを置くと、特定のStockNumTxt.Textに値がありますか?

+0

はい..すべてのフィールドには、ID以外のnullを受け入れるように設定されています。 また、私の混乱している理由の一部は、私のparamは株式ナンバーではない "recnum"フィールドであるので、株式ナンバーが空であればそれは問題ではありません。 – JDV590

0

#のようなアクセスが日付の周りに表示されます。あなたの日付の値の周りに#記号を入れてみましたか?

関連する問題