Solved

Data not updating

Posted on 2011-02-18
2
195 Views
Last Modified: 2012-08-13
I don't understand why my simple form is not updating my table.  The new values are not going into the db, the old values are.  it has something to do with the page_load event, but i can't figure it out.  When i comment out the dataview loading into the text boxes it will save the new elements.  

btw - the drop down list is updating just fine.
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

public partial class LeaveRequests_NewUser : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // force the usp_CheckNamedUsers stored procedure to fire
        DataView dvw_DataView = (DataView)usp_CheckNamedUsers.Select(DataSourceSelectArguments.Empty);

       // fill in the user information
        DataView dvw_NamedUser_Current = (DataView)usp_NamedUsers_Current.Select(DataSourceSelectArguments.Empty);
        foreach (DataRowView drv_DataRowView in dvw_NamedUser_Current)
        {
            
            txt_NewUserFullName.Text = drv_DataRowView["vch_UserName"].ToString();
            txt_NewUserUthscsaID.Text = drv_DataRowView["vch_SecondaryUserID"].ToString();
            txt_NewUserPhone.Text = drv_DataRowView["vch_Phone"].ToString();
            txt_EmailAddress.Text = drv_DataRowView["vch_UserEmail"].ToString();
            
        }
    }


    public void usp_CheckNamedUser_Selected(Object sender, SqlDataSourceStatusEventArgs e)
    {
        // grab our return value from the stored procedure
        string str_Test = e.Command.Parameters["@bit_ReturnValue"].Value.ToString();


        // if this user hasn't confirmed their information
        if (str_Test != "False")
        {            
            btn_AddNewUser.Text = "Submit Changes";           
        }

    }

    public void btn_AddNewUser_OnClick(object sender, EventArgs e)
    {
            //Add field validation script here
     
            // call our sql objects to perform the insert of the new request
            // variable declaration
            string vch_ConnectionString = "";                           // load the connection string from web.config
            SqlConnection ptr_SQLConnection;                            // holds the actual SQL Server connection object
            SqlDataAdapter ptr_SQLDataAdapter;                          // holds the SQL Server execution objects
            System.Data.DataSet ptr_SQLDataSet;                         // holds data sets returned back from SQL Server
            System.Configuration.Configuration ptr_WebConfiguration;    //holds our web.config configuration block

            // load our connection string from the web.config file
            vch_ConnectionString = "Data Source=pr2k3ca004;Initial Catalog=udb_LeaveRequests;Integrated Security=True";

            // create a new connection object using our connection sttring
            ptr_SQLConnection = new SqlConnection(vch_ConnectionString);

            // initialize our execution object to use the usp_Request_INSERT stored procedure
            ptr_SQLDataAdapter = new SqlDataAdapter("usp_NamedUsers_Insert", ptr_SQLConnection);

            // tell our execution object that the target is a stored procedure
            ptr_SQLDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure;

            // add our stored procedure parameters        
            ptr_SQLDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@vch_UserName", SqlDbType.VarChar));
            ptr_SQLDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@vch_Phone", SqlDbType.VarChar));
            ptr_SQLDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@vch_UthscsaID", SqlDbType.VarChar));
            ptr_SQLDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@int_SupervisorID", SqlDbType.Int));
            ptr_SQLDataAdapter.SelectCommand.Parameters.Add(new SqlParameter("@vch_UserEmail", SqlDbType.VarChar));

            // assign our stored procedure paramter values
            // varchar values        
            ptr_SQLDataAdapter.SelectCommand.Parameters["@vch_UserName"].Value = txt_NewUserFullName.Text.ToString();
            ptr_SQLDataAdapter.SelectCommand.Parameters["@vch_Phone"].Value = txt_NewUserPhone.Text.ToString();
            ptr_SQLDataAdapter.SelectCommand.Parameters["@vch_UthscsaID"].Value = txt_NewUserUthscsaID.Text.ToString();
            ptr_SQLDataAdapter.SelectCommand.Parameters["@int_SupervisorID"].Value = System.Convert.ToInt32(ddl_NewUserSupervisor.Text, 10);
            ptr_SQLDataAdapter.SelectCommand.Parameters["@vch_UserEmail"].Value = txt_EmailAddress.Text.ToString();

            // create a new data set
            ptr_SQLDataSet = new System.Data.DataSet("usp_NamedUsers_INSERT");

            // fill the data set with the result set from our execution
            ptr_SQLDataAdapter.Fill(ptr_SQLDataSet, "usp_NamedUsers_INSERT");

            // clean up
            ptr_SQLDataAdapter.Dispose();
            ptr_SQLConnection.Close();

            lbl_UserSuccess.Visible = true;
                    
        }
    
    }


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="NewUser.aspx.cs" Inherits="LeaveRequests_NewUser" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<!-- My Data Sources -->
    <asp:SqlDataSource ID="usp_CheckNamedUsers" runat="server" 
        ConnectionString="<%$ ConnectionStrings:udb_LeaveRequestsConnectionString %>" 
        DataSourceMode="DataSet" OnSelected="usp_CheckNamedUser_Selected" 
        SelectCommand="usp_CheckNamedUsers" SelectCommandType="StoredProcedure">
            <SelectParameters>
                  <asp:Parameter Direction="Output" Name="bit_ReturnValue" Type="Boolean" />
            </SelectParameters>            
    </asp:SqlDataSource>
<asp:SqlDataSource ID="usp_NamedUsers_Select" runat="server" 
    ConnectionString="<%$ ConnectionStrings:udb_LeaveRequestsConnectionString %>" 
    SelectCommand="usp_NamedUsers_SELECT" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:Parameter DefaultValue="False" Name="bit_CurrentUser" Type="Boolean" />
        </SelectParameters>     
</asp:SqlDataSource>
    <asp:SqlDataSource 
        runat="server" 
        ConnectionString="<%$ ConnectionStrings:udb_LeaveRequestsConnectionString %>" 
        SelectCommand="usp_NamedUsers_SELECT" 
        SelectCommandType="StoredProcedure"
        ID="usp_NamedUsers_Current">
        <SelectParameters>
            <asp:Parameter DefaultValue="True" Name="bit_CurrentUser" Type="Boolean" />
        </SelectParameters>
    </asp:SqlDataSource>

<head runat="server">
    <title>Untitled Page</title>
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <link rel="shortcut icon" href="/Recruitment/images/favicon.ico" />

    <!-- This controls the background of the sheet -->
    <link href="/LeaveRequests/_style/common_som.css" rel="stylesheet" type="text/css" />

    <!-- This controls the menu formatting -->
    <link href="/LeaveRequests/includes/menus_css/skins/som/primary_vertical.css" rel="stylesheet" type="text/css" />
    <link href="/LeaveRequests/_style/box_styles.css" rel="stylesheet" type="text/css" />

    <!--#include file="/Recruitment/includes/regexChecks.aspx" -->
    <script src="/LeaveRequests/includes/menus_css/js/cssmenus.js" type="text/javascript"></script>
</head>
<body>
    <form id="form1" runat="server">
  
        <!-- begin header -->
        <div id="header">
        <div class="logo">
        <a href="/index.aspx">
            <img src="Images/logo_utmsa.jpg" alt="UTMSA LOGO" width="344" height="82" border="0" /> </a>
        </div>
    
      <!-- common secondary menu -->
	    <div class="secnav"></div>
        <!-- tagline -->
	    <div class="tagline"></div>
        <!-- search form -->	
	    <div class="search">
          </div>
      </div>  
        <div id="page">
            <div id="sidebar">
                <div><!--#include file="/LeaveRequests/includes/menu_primary.html" --></div>
	            <noscript><!--#include file="/LeaveRequests/includes/menu_primary.html" --> </noscript>
	      <div style="clear:both;"></div>
	      <!-- end menu -->
            </div>
   
   <div id="content">
    <div class="boxed">
    <!-- Menu Table -->
    <table>
        <td valign="top" class="som_green">
       
        </td>
        <td>
        <table>
        <!-- Begin Data Entry Area -->
         <tr>
         <td>          
                Full Name(First Last)</td>
        <td>                
                <asp:TextBox ID="txt_NewUserFullName" runat="server" Width="260px"></asp:TextBox><br />
                <asp:Label ID="lbl_test" runat="server"></asp:Label></td>
        </tr>   
       <tr>            
        <td>UTHSCSA User ID</td>
        <td><asp:TextBox ID="txt_NewUserUthscsaID" runat="server" Width="260px"></asp:TextBox></td>
        </tr>
        <tr>
        <td>Phone</td>
        <td><asp:TextBox ID="txt_NewUserPhone" runat="server" Width="260px"></asp:TextBox></td></tr>
        <tr>
        <td>Email</td>
        <td><asp:TextBox ID="txt_EmailAddress" runat="server" Width="260px"></asp:TextBox></td>
        </tr>
        <tr>
        <td>Direct Supervisor</td>
        <td>
            <asp:DropDownList ID="ddl_NewUserSupervisor" runat="server" width="267px" 
                DataSourceID="usp_NamedUsers_Select" DataTextField="vch_UserName" 
                DataValueField="int_NamedUserID">
            </asp:DropDownList>
            </td>
        </tr>
        </tr>
        <tr>
        <td colspan="2" align="center">
            <asp:Button ID="btn_AddNewUser" runat="server" Text="Submit" Width="149px"
             OnClick="btn_AddNewUser_OnClick"/>
        </td>
        </tr>
    </table>
    </td>
    </table>
    
    
   </div>
    </div>
    <asp:Label ID="lbl_UserSuccess" runat="server" Text="Your changes have been saved! Click Manage Requests on the menu to begin." Font-Size="Large" Visible="False"></asp:Label>
    
   
    </form>
</body>
</html>

Open in new window

0
Comment
Question by:gdspeare
2 Comments
 
LVL 7

Accepted Solution

by:
dxdinh earned 500 total points
Comment Utility
check for the IsPostBack from your page load ...something like this


    protected void Page_Load(object sender, EventArgs e)
    {
if (!Page.IsPostBack)
{
        // force the usp_CheckNamedUsers stored procedure to fire
        DataView dvw_DataView = (DataView)usp_CheckNamedUsers.Select(DataSourceSelectArguments.Empty);

       // fill in the user information
        DataView dvw_NamedUser_Current = (DataView)usp_NamedUsers_Current.Select(DataSourceSelectArguments.Empty);
        foreach (DataRowView drv_DataRowView in dvw_NamedUser_Current)
        {
           
            txt_NewUserFullName.Text = drv_DataRowView["vch_UserName"].ToString();
            txt_NewUserUthscsaID.Text = drv_DataRowView["vch_SecondaryUserID"].ToString();
            txt_NewUserPhone.Text = drv_DataRowView["vch_Phone"].ToString();
            txt_EmailAddress.Text = drv_DataRowView["vch_UserEmail"].ToString();
           
        }

} // end if !IsPostBack
    }
0
 

Author Closing Comment

by:gdspeare
Comment Utility
Perfect.  Thanks
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Article by: Ivo
C# And Nullable Types Since 2.0 C# has Nullable(T) Generic Structure. The idea behind is to allow value type objects to have null values just like reference types have. This concerns scenarios where not all data sources have values (like a databa…
This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

744 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

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now