?
Solved

ERROR: No value given for one or more required parameters

Posted on 2012-03-20
3
Medium Priority
?
404 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 38

Accepted Solution

by:
PaulHews earned 2000 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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
This article describes a method of delivering Word templates for use in merging Access data to Word documents, that requires no computer knowledge on the part of the recipient -- the templates are saved in table fields, and are extracted and install…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…
Suggested Courses

770 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