• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1609
  • Last Modified:

ASP.Net DetailsView EditItemTemplate Question

Hi Guys,
I'm using ASP.net + Access + VB.net.
I have a edit function in a detailsview, but I don't want to users to edit a field called "Username". However, if I use "readonly" for Username field, the update will not work! Error message says "at least one parameter has no value". But I don't have Username in my update SQL. I don't understand why. If I include Username in the edit view, everything is fine. Can anyone please help me? Thanks
the code is:
<%@ Page Language="VB" MasterPageFile="~/Admin/AdminMasterPage.master" AutoEventWireup="false" CodeFile="StudentDetail.aspx.vb" Inherits="Admin_StudentDetail2" title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False" BackColor="White"
        BorderColor="White" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="1"
        DataSourceID="AccessDataSourceBasicInfo" GridLines="None" Height="50px" Width="288px">
        <FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
        <EditRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
        <RowStyle BackColor="#DEDFDE" ForeColor="Black" />
        <PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
            <asp:BoundField DataField="Username" HeaderText="Username" SortExpression="Username"/>
            <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
            <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
            <asp:TemplateField HeaderText="SchoolID" SortExpression="SchoolID">
                    <asp:DropDownList ID="DropDownSchoolID" runat="server" DataSourceID="AccessDataSourceSchool"
                        DataTextField="SchoolName" DataValueField="SchoolID" SelectedValue='<%# Bind("SchoolID") %>'>
                    </asp:DropDownList><asp:AccessDataSource ID="AccessDataSourceSchool" runat="server"
                        DataFile="~/App_Data/GLC.mdb" SelectCommand="SELECT [SchoolID], [SchoolName] FROM [Schools]">
                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("SchoolID") %>'></asp:TextBox>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("SchoolID") %>'></asp:Label>
            <asp:BoundField DataField="SchoolName" HeaderText="SchoolName" SortExpression="SchoolName" ReadOnly="True" />
            <asp:BoundField DataField="StudentID" HeaderText="StudentID" SortExpression="StudentID" />
            <asp:CommandField ShowEditButton="True" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" />
                    Basic Information
     <asp:AccessDataSource ID="AccessDataSourceBasicInfo" runat="server" DataFile="~/App_Data/GLC.mdb" 
      SelectCommand="SELECT Students.Username, Students.StudentID, Students.SchoolID, Students.LastName, Students.FirstName, Schools.SchoolName FROM (Students INNER JOIN Schools ON Students.SchoolID = Schools.SchoolID) WHERE (Students.Username = @Username)" 
      UpdateCommand="UPDATE Students SET Students.StudentID = @StudentID, Students.SchoolID = @SchoolID, Students.LastName = @LastName, Students.FirstName = @FirstName WHERE (Students.Username = @Username)" >
       <asp:Parameter Name="StudentID" Type="String"/>
       <asp:Parameter Name="SchoolID" Type="int16"/>
       <asp:Parameter Name="LastName" Type="String"/>
       <asp:Parameter Name="FirstName" Type="String"/>
       <asp:QUERYSTRINGPARAMETER DefaultValue="0" Name="Students.Username" QueryStringField="ID" />

Open in new window

1 Solution
Dustin HopkinsSenior Web DeveloperCommented:
Try setting username to readonly, and also set the datakeynames value to username. Your sql statement does require the username parameter... (Students.Username = @Username)"
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Tackle projects and never again get stuck behind a technical roadblock.
Join Now