 |
|
ปัญหาคือ
1.ทำการเปิดเว็บขึ้นมา แสดงข้อมูลใน Gridview ดังภาพที่ 1

ภาพฐานข้อมูล

2.ทำการเลือก list ข้อมูลที่จะค้นหาใน Combobox เพื่อให้แสดงใน gridview ตัวที่เลือกไว้ และคลิ๊ก Delete

3.ผลรับที่ได้ข้อมูลตัวแรกถูกลบ แต่ข้อมูลตัวที่เลือกดันไม่ถูกลบ

คำถาม
ควรจะแก้ code หรือเขียน code ยังไง
อันนี้ code ที่หนูเขียนไว้
index.aspx
Code (ASP)
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="index.aspx.vb" Inherits="Practice_Default" %>
<%@ Register assembly="DevExpress.Web.v14.1, Version=14.1.8.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxEditors" tagprefix="dx" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div class="auto-style2">
<h1 style="text-align: center">ผลิตภัณฑ์ AMPELITE</h1>
<dx:ASPxComboBox ID="ASPxComboBox1" runat="server" ValueType="System.String" DropDownStyle="DropDown"
EnableIncrementalFiltering="True">
</dx:ASPxComboBox>
<asp:Button ID="Button1" runat="server" Text="Select data" />
<asp:Button ID="Button2" runat="server" Text="Add datas" />
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" PageSize="10" OnPageIndexChanging="ShowPageCommand"
AutoGenerateColumns = "false">
<Columns>
<asp:TemplateField HeaderText = "NO">
<ItemTemplate>
<asp:Label ID="lblNO" runat="server"
Text ='<%# Eval("NO")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText = "Type">
<ItemTemplate>
<asp:Label ID="lblType" runat="server"
Text='<%# Eval("ZKS_Type")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText = "Cate Code">
<ItemTemplate>
<asp:Label ID="lblCateCode" runat="server"
Text='<%# Eval("ZKS_CateCode")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText = "Color Code">
<ItemTemplate>
<asp:Label ID="lblColorCode" runat="server"
Text='<%# Eval("ColorCode")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText = "Item Code">
<ItemTemplate>
<asp:Label ID="lblItemCode" runat="server"
Text='<%# Eval("ZKS_ItemCode")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText = "Item Name">
<ItemTemplate>
<asp:Label ID="lblItemName" runat="server"
Text='<%# Eval("ZKS_ItemName")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText = "Sheet Long">
<ItemTemplate>
<asp:Label ID="lblSheetLong" runat="server"
Text='<%# Eval("ZKS_SheetLong")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText = "Unit">
<ItemTemplate>
<asp:Label ID="lblUnit" runat="server"
Text='<%# Eval("ZKS_Unit")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText = "Price">
<ItemTemplate>
<asp:Label ID="lblPrice" runat="server"
Text='<%# Eval("ZKS_Prices_exv")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="lnkRemove" runat="server"
CommandArgument = '<%# Eval("NO")%>'
OnClientClick = "return confirm('Do you want to delete?')"
Text = "Delete" OnClick = "DeleteCustomer"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
index.aspx.vb
Code (VB.NET)
Imports System.Data
Imports System.Configuration
Imports MySql.Data.MySqlClient
Imports DevExpress.Web
Partial Class Practice_Default
Inherits System.Web.UI.Page
Dim constr As String = ConfigurationManager.ConnectionStrings("Testmysql").ConnectionString
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Dim objConn As MySqlConnection
Dim adapter As New MySqlDataAdapter
Dim ds As New DataSet
objConn = New MySqlConnection(constr)
Using cmd As New MySqlCommand()
cmd.CommandText = "select * from `dbo.priceforproduct`"
cmd.Connection = objConn
objConn.Open()
adapter.SelectCommand = cmd
adapter.Fill(ds)
adapter.Dispose()
GridView1.DataSource = ds
GridView1.DataBind()
objConn.Close()
End Using
End Sub
Sub ShowPageCommand(s As Object, e As GridViewPageEventArgs)
GridView1.PageIndex = e.NewPageIndex
GridView1.DataBind()
End Sub
Private Sub ASPxComboBox1_Load(sender As Object, e As EventArgs) Handles ASPxComboBox1.Load
If Not IsPostBack Then
Dim adapter As New MySqlDataAdapter
Dim ds As New DataSet
Using con As New MySqlConnection(constr)
Using cmd As New MySqlCommand("SELECT NO, ZKS_ItemName FROM `dbo.priceforproduct`")
cmd.CommandType = CommandType.Text
cmd.Connection = con
con.Open()
adapter.SelectCommand = cmd
adapter.Fill(ds)
adapter.Dispose()
ASPxComboBox1.DataSource = ds
ASPxComboBox1.TextField = "ZKS_ItemName"
ASPxComboBox1.ValueField = "NO"
ASPxComboBox1.Text = "Please Select Product"
ASPxComboBox1.DataBind()
con.Close()
End Using
End Using
End If
End Sub
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim objConn As MySqlConnection
Dim adapter As New MySqlDataAdapter
Dim ds As New DataSet
objConn = New MySqlConnection(constr)
Using cmd As New MySqlCommand()
cmd.CommandText = "select *"
cmd.CommandText += " from `dbo.priceforproduct`"
cmd.CommandText += " where NO = @NO"
cmd.Parameters.AddWithValue("@NO", ASPxComboBox1.SelectedItem.Value)
cmd.Connection = objConn
objConn.Open()
adapter.SelectCommand = cmd
adapter.Fill(ds)
adapter.Dispose()
GridView1.DataSource = ds
GridView1.DataBind()
objConn.Close()
End Using
End Sub
Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Response.Redirect("formadd.aspx")
End Sub
Protected Sub DeleteCustomer(ByVal sender As Object, ByVal e As EventArgs)
Dim lnkRemove As LinkButton = DirectCast(sender, LinkButton)
Dim objConn As MySqlConnection
Dim adapter As New MySqlDataAdapter
Dim ds As New DataSet
objConn = New MySqlConnection(constr)
Using cmd As New MySqlCommand()
cmd.CommandType = CommandType.Text
cmd.CommandText = "Delete from `dbo.priceforproduct` where NO = @NO;" _
& "select NO, ZKS_Type, ZKS_CateCode, ColorCode, ZKS_ItemCode, ZKS_ItemName," _
& "ZKS_SheetLong, ZKS_Unit, ZKS_Prices_exv from `dbo.priceforproduct`"
cmd.Parameters.Add("@NO", MySqlDbType.VarChar).Value _
= lnkRemove.CommandArgument
cmd.Connection = objConn
objConn.Open()
adapter.SelectCommand = cmd
adapter.Fill(ds)
adapter.Dispose()
GridView1.DataSource = ds
GridView1.DataBind()
objConn.Close()
End Using
End Sub
End Class
Tag : .NET, MySQL, VBScript, Web (ASP.NET), XAMPP, Windows
|
ประวัติการแก้ไข 2017-04-20 16:37:09 2017-04-20 17:07:48 2017-04-20 17:07:52
|
 |
 |
 |
 |
Date :
2017-04-20 16:27:01 |
By :
น้องพลอย |
View :
811 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |