質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.40%

  • VB.NET

    1101questions

    Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

  • ASP.NET

    635questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • Visual Studio 2013

    321questions

    Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです

2注文目下に表示されるようにしたいのですが、2件目が表示されません

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 729

JAVA

score 8

2注文目下に表示されるようにしたいのですが、2件目が表示されません

注文画面デザイン上画面↓
http://s1.gazo.cc/up/173801.png
注文画面デザイン中画面
http://s1.gazo.cc/up/173802.png
注文画面デザイン下画面
http://s1.gazo.cc/up/173803.png
注文画面VBソースコード画面1
http://s1.gazo.cc/up/173799.png
注文画面VBソースコード画面3
http://s1.gazo.cc/up/173800.png
注文画面VBソースコード画面2
http://s1.gazo.cc/up/173798.png
上の3画面のvbソースコードになります↓
Imports System.Data
Partial Class Default2
    Inherits System.Web.UI.Page

    Private Function GetNew_order_no() As Integer
        Dim order_no As Integer = 0 '伝票番号

        '注文テーブルから伝票番号の最大値を取得
        Dim args As DataSourceSelectArguments = New DataSourceSelectArguments()
        Dim dataview As DataView = CType(SqlDataSource_order1.Select(args), DataView)
        If dataview.Table.Rows(0).ItemArray.GetValue(0) Is DBNull.Value Then
            '存在していないとき
            order_no = 1
        Else
            '存在しているとき
            order_no = dataview.Table.Rows(0).ItemArray.GetValue(0) + 1
        End If
        '伝票番号を返す
        Return order_no
    End Function

    Protected Sub Button_cart_Click1(sender As Object, e As EventArgs)
        '伝票番号の取得
        Dim order_no As Integer = 0 '伝票番号
        If Session("order_no") Is Nothing Then
            'セッションオブジェクトに存在していないときは伝票番号取得
            order_no = GetNew_order_no()

            '注文テーブルの更新
            SqlDataSource_order1.InsertParameters("order_no").DefaultValue = order_no
            SqlDataSource_order1.InsertParameters("customer_id").DefaultValue = 0
            SqlDataSource_order1.InsertParameters("date").DefaultValue = Now()
            SqlDataSource_order1.InsertParameters("order_sts").DefaultValue = 0
            Try
                SqlDataSource_order1.Insert()
            Catch ex As Exception

            End Try

            '注文番号の保存
            Session("order_no") = order_no
        Else
            'セッションオブジェクトから伝票番号を取得
            order_no = CInt(Session("order_no"))
        End If

        '注文明細テーブルの更新

        '注文明細に存在するかチェック
        Dim item_id As Label = CType(sender, Button).Parent.FindControl("IDLabel")
        Dim args As DataSourceSelectArguments = New DataSourceSelectArguments() '商品ID
        SqlDataSource_order_detail.SelectParameters("item_id").DefaultValue = item_id.Text '同一伝票No
        Dim dataview As DataView = CType(SqlDataSource_order_detail.Select(args), DataView) '同一商品No

        If dataview.Table.Rows.Count < 1 Then
            '存在しないときは、レコードの追加
            SqlDataSource_order_detail.InsertParameters("order_no").DefaultValue = order_no
            SqlDataSource_order_detail.InsertParameters("item_id").DefaultValue = item_id.Text
            SqlDataSource_order_detail.InsertParameters("quantity").DefaultValue = 1
            Try
                SqlDataSource_order_detail.Insert()
            Catch ex As Exception

            End Try
        Else
            '存在する時は、数量更新
            SqlDataSource_order_detail.InsertParameters("order_no").DefaultValue = order_no
            SqlDataSource_order_detail.UpdateParameters("item_id").DefaultValue = item_id.Text
            SqlDataSource_order_detail.UpdateParameters("quantity").DefaultValue = _
                dataview.Table.Rows(0).ItemArray.GetValue(2) + 1
            Try
                SqlDataSource_order_detail.Update()
            Catch ex As Exception

            End Try

        End If
    End Sub

    Protected Sub SqlDataSource_order1_Selecting(sender As Object, e As SqlDataSourceSelectingEventArgs) Handles SqlDataSource_order1.Selecting

    End Sub
End Class
注文テーブルデザイン画面↓
http://s1.gazo.cc/up/173794.png
注文テーブルhtmlコード1
http://s1.gazo.cc/up/173790.png
注文テーブルhtmlコード2
http://s1.gazo.cc/up/173789.png
上の2画面のhtmlソースコードです
<%@ Page Title="" Language="VB" MasterPageFile="~/MasterPage.master" AutoEventWireup="false" CodeFile="1-4cart.aspx.vb" Inherits="_1_4cart" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <br />
    <span style="font-size: 14pt;"><strong>カートの中身</strong></span><asp:GridView ID="GridView_order" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource_view_order" CellPadding="3" EmptyDataText="カート内に商品がありません。" GridLines="Vertical" Width="790px" Font-Size="11pt" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px">
        <Columns>
            <asp:BoundField DataField="order_no" HeaderText="order_no" SortExpression="order_no"
                Visible="False" />
            <asp:BoundField DataField="item_id" HeaderText="商品ID" SortExpression="item_id" >
                <HeaderStyle Width="80px" />
            </asp:BoundField>
            <asp:BoundField DataField="item_name" HeaderText="商品名" SortExpression="item_name" >
                <HeaderStyle Width="300px" />
            </asp:BoundField>
            <asp:BoundField DataField="price_wt" DataFormatString="{0:c}" HeaderText="税込単価" ReadOnly="True"
                SortExpression="price_wt" HtmlEncode="False">
                <HeaderStyle HorizontalAlign="Right" Width="110px" />
                <ItemStyle HorizontalAlign="Right" />
            </asp:BoundField>
            <asp:TemplateField HeaderText="購入数量" SortExpression="quantity">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("quantity") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:TextBox ID="TextBox_quantity" runat="server" Style="text-align: right" Text='<%# Bind("quantity") %>'
                        Width="50px" MaxLength="7"></asp:TextBox>
                </ItemTemplate>
                <HeaderStyle HorizontalAlign="Right" Width="100px" />
                <ItemStyle HorizontalAlign="Right" />
            </asp:TemplateField>
            <asp:BoundField DataField="total_price_wt" DataFormatString="{0:c}" HeaderText="税込金額"
                ReadOnly="True" SortExpression="total_price_wt" HtmlEncode="False">
                <HeaderStyle HorizontalAlign="Right" Width="110px" />
                <ItemStyle HorizontalAlign="Right" />
            </asp:BoundField>
            <asp:ButtonField ButtonType="Button" CommandName="_upd" HeaderText="更新" ShowHeader="True"
                Text="更新" >
                <HeaderStyle Width="50px" />
                <ItemStyle HorizontalAlign="Center" />
            </asp:ButtonField>
            <asp:ButtonField ButtonType="Button" CommandName="_del" HeaderText="削除" ShowHeader="True"
                Text="削除" >
                <HeaderStyle Width="50px" />
                <ItemStyle HorizontalAlign="Center" />
            </asp:ButtonField>
        </Columns>
        <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
        <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
        <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
        <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
        <AlternatingRowStyle BackColor="#DCDCDC" />
        <SortedAscendingCellStyle BackColor="#F1F1F1" />
        <SortedAscendingHeaderStyle BackColor="#0000A9" />
        <SortedDescendingCellStyle BackColor="#CAC9C9" />
        <SortedDescendingHeaderStyle BackColor="#000065" />
    </asp:GridView>
    <asp:Label ID="Label_msg" runat="server"></asp:Label>
    <asp:SqlDataSource ID="SqlDataSource_view_order" runat="server" ConnectionString="<%$ ConnectionStrings:eshopDBConnectionString %>"
        SelectCommand="SELECT order_no, item_id, item_name, price_wt, quantity, total_price_wt FROM view_order_detail WHERE (order_no = @order_no)" InsertCommand="INSERT INTO [order] (order_no, customer_id, date, order_sts) VALUES (@order_no, @customer_id, @date, @order_sts)">
        <InsertParameters>
            <asp:Parameter Name="order_no" />
            <asp:Parameter Name="customer_id" />
            <asp:Parameter Name="date" />
            <asp:Parameter Name="order_sts" />
        </InsertParameters>
        <SelectParameters>
            <asp:SessionParameter Name="order_no" SessionField="order_no" Type="Int32" />
        </SelectParameters>
    </asp:SqlDataSource>
    <asp:SqlDataSource ID="SqlDataSource_order_detail" runat="server" ConnectionString="<%$ ConnectionStrings:eshopDBConnectionString %>"
        DeleteCommand="DELETE FROM order_detail WHERE (order_no = @order_no) AND (item_id = @item_id)"
        SelectCommand="SELECT order_detail.* FROM order_detail" UpdateCommand="UPDATE order_detail SET quantity = @quantity WHERE (order_no = @order_no) AND (item_id = @item_id)" InsertCommand="INSERT INTO view_order_detail(order_no, item_id, item_name, price_wt) VALUES (@order_no, @item_id, @item_name, @price_wt)">
        <DeleteParameters>
            <asp:Parameter Name="order_no" />
            <asp:Parameter Name="item_id" />
        </DeleteParameters>
        <InsertParameters>
            <asp:Parameter Name="order_no" />
            <asp:Parameter Name="item_id" />
            <asp:Parameter Name="item_name" />
            <asp:Parameter Name="price_wt" />
        </InsertParameters>
        <UpdateParameters>
            <asp:Parameter Name="quantity" />
            <asp:Parameter Name="order_no" />
            <asp:Parameter Name="item_id" />
        </UpdateParameters>
    </asp:SqlDataSource>
</asp:Content>
注文テーブルvbコード1
http://s1.gazo.cc/up/173792.png
注文テーブルvbコード2
http://s1.gazo.cc/up/173793.png

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • dojikko

    2016/01/27 12:03

    まずMarkdownでリンクの貼り方を覚えてください
    あと該当する部分(注文を表示しているところ)コードを貼って(画像ではなく)もらった方が早いと思います

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.40%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • VB.NET

    1101questions

    Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

  • ASP.NET

    635questions

    ASP.NETは動的なWebサイトやWebアプリケーション、そしてWebサービスを構築出来るようにする為、Microsoftによって開発されたウェブアプリケーション開発フレームワークです。

  • Visual Studio 2013

    321questions

    Microsoft Visual Studio 2013は、Microsoftによる統合開発環境(IDE)であり、多種多様なプログラミング言語に対応しています。 Visual Studio 2012の次のバージョンです