Click here to Skip to main content
13,762,671 members
Rate this:
 
Please Sign up or sign in to vote.
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="SalesOrder.aspx.cs" Inherits="SalesOrder" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">

    <script type="text/javascript" language="javascript">
        function GetTotal() {
            var val1 = document.getElementById('<%=txtq.ClientID%>').value;
            var val2 = document.getElementById('<%=txtp.ClientID%>').value;
            if (val1 != "" && val2 != "") {
                document.getElementById('<%=txttotal.ClientID%>').value = val1 * val2;
            }

        }

    </script>

    <style type="text/css">
        .style9 {
            height: 34px;
        }
    </style>

</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder3" Runat="Server">
    <asp:Panel ID="Panel1" runat="server">
        <br />
        <asp:HyperLink ID="HyperLink12" runat="server" NavigateUrl="~/Customer.aspx">Customer Details</asp:HyperLink>
        <br />
        <br />
        <br />
        <asp:HyperLink ID="HyperLink13" runat="server" NavigateUrl="~/SalesOrder.aspx">Sales Order</asp:HyperLink>
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
        <br />
    </asp:Panel>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
    <h1 style="font-family: Andalus; font-size: x-large; color: #FF00FF;" >Sales Order</h1>
    <table>

<tr>
<td align="right">Customer ID</td>
<td>
    <asp:DropDownList ID="ddlcid" runat="server" DataSourceID="SqlDataSource1"

        DataTextField="Customer_Id" DataValueField="Customer_Id" AppendDataBoundItems="true">
        <asp:ListItem>---select Customer id---</asp:ListItem>
    </asp:DropDownList>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server"

        ConnectionString="<%$ ConnectionStrings:sqlserverConnectionString %>"

        SelectCommand="SELECT [Customer_Id] FROM [CustomerTable_]">
    </asp:SqlDataSource>
    </td>
</tr>
<tr>
<td align="right">Product Id</td>
<td>
    <asp:DropDownList ID="ddlpid" runat="server" DataSourceID="SqlDataSource2"

        DataTextField="Productcode" DataValueField="Productcode"

        AppendDataBoundItems="true"

        onselectedindexchanged="ddlpid_SelectedIndexChanged" AutoPostBack="True">
        <asp:ListItem>---select Product Id---</asp:ListItem>
    </asp:DropDownList>
    <asp:SqlDataSource ID="SqlDataSource2" runat="server"

        ConnectionString="<%$ ConnectionStrings:sqlserverConnectionString %>"

        SelectCommand="SELECT [Productcode] FROM [Products]"></asp:SqlDataSource>
    </td>
</tr>
<tr>
<td align="right">Price</td>
<td>
    <asp:TextBox ID="txtp" runat="server"></asp:TextBox>
    </td>
</tr>
<tr>
<td align="right">Quantity</td>
<td>
    <asp:TextBox ID="txtq" runat="server"></asp:TextBox>
    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"

        ErrorMessage="*" ForeColor="Red" ControlToValidate="txtq"></asp:RequiredFieldValidator>
    </td>
</tr>

<tr>
<td align="right" class="style9">Total</td>
<td class="style9">
    <asp:TextBox ID="txttotal" runat="server"></asp:TextBox>
    <asp:Button ID="add" runat="server" Text="add" OnClientClick="return GetTotal();" />
&nbsp;</td>
</tr>
<tr>
<td align="right">Date Of Delivery</td>
<td>

    <asp:TextBox ID="txtdate" runat="server"></asp:TextBox>
  <asp:CalendarExtender ID="calender1" runat="server" TargetControlID="txtdate"

        Format="dd/MM/yyyy"></asp:CalendarExtender>


    </td>
</tr>
<tr>
<td colspan="2" align="center">

    <asp:Button ID="btnsubmit" runat="server" Text="Submit"

        onclick="btnsubmit_Click" />

</td>
</tr>
</table>
    <asp:Label ID="Label1" runat="server" ></asp:Label>

</asp:Content>

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;

public partial class SalesOrder : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

       // ScriptManager.RegisterClientScriptBlock(this,this.GetType(),"hi","GetTotal()",true);
    }
    

   
    protected void btnsubmit_Click(object sender, EventArgs e)
    {
        if (txtq.Text == txtq.Text)
        {
            SqlConnection con = new SqlConnection("Data Source=CKRBTECH\\SQLEXPRESS;Initial Catalog=sqlserver;Integrated Security=True");

            SqlCommand cmd = new SqlCommand("sp_quantity", con);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.AddWithValue("@cid", ddlcid.SelectedItem.ToString());
            cmd.Parameters.AddWithValue("@prodid", ddlpid.SelectedItem.Value.ToString());
            cmd.Parameters.AddWithValue("@price", txtp.Text.ToString());
            cmd.Parameters.Add("@qty", txtq.Text.ToString());
            cmd.Parameters.AddWithValue("@total", txttotal.Text.ToString());
            cmd.Parameters.AddWithValue("@date", txtdate.Text.ToString());
            cmd.Parameters.Add("@error", SqlDbType.VarChar, 500);
            cmd.Parameters["@error"].Direction = ParameterDirection.Output;
            con.Open();
            cmd.ExecuteNonQuery();
            string message = (string)cmd.Parameters["@error"].Value;

            Label1.Text=message;
            con.Close();
            //Response.Write("data inserted successfully");
        }
        //else
        //{
          //  Response.Write("doesn");
        //}
       // Response.Redirect("~/Sales.aspx");
       
    }

    protected void ddlpid_SelectedIndexChanged(object sender, EventArgs e)
    {
        showdata(ddlpid.SelectedItem.Value);
    }
    private void showdata(string id)
    {
        DataTable dt = new DataTable();
        SqlConnection con = new SqlConnection("Data Source=CKRBTECH\\SQLEXPRESS;Initial Catalog=sqlserver;Integrated Security=True");
        SqlCommand cmd = new SqlCommand("select Price from Products where Productcode=@prodid", con);
        cmd.Parameters.AddWithValue("@prodid", ddlpid.SelectedItem.Value);
        con.Open();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        da.Fill(dt);
        if (dt.Rows.Count > 0)
        {
            txtp.Text = dt.Rows[0]["Price"].ToString();
        }


        con.Close();

    }
    private void showdata()
    {
        DataTable dt = new DataTable();
        SqlConnection con = new SqlConnection("Data Source=CKRBTECH\\SQLEXPRESS;Initial Catalog=sqlserver;Integrated Security=True");
      SqlCommand  cmd = new SqlCommand("select quantity from Products where Productcode=@prodcode", con);
      cmd.Parameters.AddWithValue("@prodcode",ddlpid.SelectedItem.Value);
      con.Open();
      SqlDataAdapter da = new SqlDataAdapter(cmd);
      da.Fill(dt);
      if (dt.Rows.Count > 0)
      {
          txtq.Text = dt.Rows[0]["quantity"].ToString();
      }
      con.Close();

    }


    
}
Posted 5-May-14 2:04am
v.latha306
Updated 5-May-14 2:06am
v2
Comments
v.latha 5-May-14 7:05am
   
and this is my stored procedure
ALTER PROCEDURE sp_quantity
(@cid nvarchar(50),@prodid nvarchar(50),@price money,@qty nvarchar(50),@total money,@date date,@status nvarchar(50),@error varchar(500) OUT)
/*
(
@parameter1 int = 5,
@parameter2 datatype OUTPUT
)
*/
AS
begin
if exists(select quantity from Products where quantity=@qty)
begin
insert into Sales_Order
(
CustomerId,
ProductId,
Price,
Quantity,
Total,
Date_Of_Deliver,
Status)
values
(@cid,
@prodid,
@price,
@qty,
@total,
@date,
@status)
set @error='registered successfully'
end
else
begin
set @error='quantity doesnot exist'

end
end

/* SET NOCOUNT ON */
RETURN
5-May-14 7:06am
   
This is just a code dump, not a question or a problem. Debug you code and find the problem.
Laiju k 5-May-14 7:13am
   
you have to convert date to database format yyyy/MM/dd
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

The value of txtdate is not a valid date or not in a format SQL can understand. If it is valid for .NET than instead of passing it as string, convert it to DateTime and pass it as object. Let ADO.NET handle it for you...
  Permalink  
Comments
DamithSL 5-May-14 7:53am
   
5d! :)
Kornfeld Eliyahu Peter 5-May-14 7:54am
   
Thank you...
Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 2

you have need to set DateTime value for date parameter, convert your text box value using DateTime.ParseExact like below
cmd.Parameters.AddWithValue("@date", 
   DateTime.ParseExact(txtdate.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture));
  Permalink  
Comments
v.latha 5-May-14 7:52am
   
thanks

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Cookies | Terms of Service
Web05-2016 | 2.8.181112.3 | Last Updated 5 May 2014
Copyright © CodeProject, 1999-2018
All Rights Reserved.
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100