Solved

ERROR: No value given for one or more required parameters

Posted on 2012-03-20
3
387 Views
Last Modified: 2012-03-20
Hi:

We're creating a web application with VS 2010 using Visual Basic.

We'd like to update an record in an access database table using GridView

For some reason, when we run the code, the program crashed with the following error: No value is given for one or more required parameters

We've checked again and again but could not find anything missing: each record in GridView has 3 fields: OrderID (text - primary key), Amount (double), and Tax (double). We wanted to update the field Amount of the 1st record in GridView. When we click "Update", it crashed.

If you've some idea why it crashed, please help.

We added the code below.

Thanks a lot,

Somits

//----------------------------------------------------------------


 <asp:Panel ID="Panel1" runat="server"


           style="z-index: 1; left: 197px; top: 242px; position:
absolute; height: 57px; width: 531px">
           <asp:AccessDataSource ID="AccessDataSource1" runat="server"
               DataFile="~/App_Data/ACCESSDB_8.accdb"
               DeleteCommand="DELETE FROM [vb_access_db8_tb1] WHERE
(([OrderID] = ?) OR ([OrderID] IS NULL AND ? IS NULL))"
               InsertCommand="INSERT INTO [vb_access_db8_tb1]
([OrderID], [Amount], [Tax]) VALUES (?, ?, ?)"
               SelectCommand="SELECT * FROM [vb_access_db8_tb1]"
               UpdateCommand="UPDATE [vb_access_db8_tb1] SET [Amount]
= ?, [Tax] = ? WHERE (([OrderID] = ?) OR ([OrderID] IS NULL AND ? IS
NULL))">
               <DeleteParameters>
                   <asp:Parameter Name="OrderID" Type="String" />
               </DeleteParameters>
               <InsertParameters>
                   <asp:Parameter Name="OrderID" Type="String" />
                   <asp:Parameter Name="Amount" Type="Double" />
                   <asp:Parameter Name="Tax" Type="Double" />
               </InsertParameters>
               <UpdateParameters>
                   <asp:Parameter Name="Amount" Type="Double" />
                   <asp:Parameter Name="Tax" Type="Double" />
                   <asp:Parameter Name="OrderID" Type="String" />
               </UpdateParameters>
           </asp:AccessDataSource>
       </asp:Panel>

       <asp:GridView ID="GridView1" runat="server" AllowPaging="True"
           AllowSorting="True" AutoGenerateColumns="False"
AutoGenerateDeleteButton="True"
           AutoGenerateEditButton="True" AutoGenerateSelectButton="True"
           DataKeyNames="OrderID" DataSourceID="AccessDataSource1"
           style="z-index: 1; left: 204px; top: 354px; position:
absolute; height: 127px; width: 470px">
           <Columns>
               <asp:BoundField DataField="OrderID"
HeaderText="OrderID" ReadOnly="True"
                   SortExpression="OrderID" />
               <asp:BoundField DataField="Amount" HeaderText="Amount"
                   SortExpression="Amount" />
               <asp:BoundField DataField="Tax" HeaderText="Tax"
SortExpression="Tax" />
           </Columns>
       </asp:GridView>
0
Comment
Question by:somits
  • 2
3 Comments
 
LVL 38

Accepted Solution

by:
PaulHews earned 500 total points
ID: 37743089
Your Update command has 4 parameters.

UpdateCommand="UPDATE [vb_access_db8_tb1] SET [Amount]
= ?, [Tax] = ? WHERE (([OrderID] = ?) OR ([OrderID] IS NULL AND ? IS
NULL))"

You must provide a value for every parameter or change your command.
0
 

Author Comment

by:somits
ID: 37743264
Hi PaulHews:

You're right. I didn't set the Primary Key field OrderID as Required in the Access table.
Therefore, VS generates more ? in the command statement of update.

Thanks so much for your help.

Somits
0
 

Author Comment

by:somits
ID: 37743269
Everything works correctly now.

Really appreciated,

Somits
0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Familiarize people with the process of utilizing SQL Server stored procedures from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Micr…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

791 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question