Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > โปรแกรมไม่บันทึกตัวเลข 2 ตัวท้ายครับ แนะนำด้วยครับ



 

โปรแกรมไม่บันทึกตัวเลข 2 ตัวท้ายครับ แนะนำด้วยครับ

 



Topic : 126414



โพสกระทู้ ( 83 )
บทความ ( 0 )



สถานะออฟไลน์




Lot No. เก็ข้อมูลเป็น ddMMyyyy ตามด้วยขีดกลาง แล้วตัวเลขอีก 2 ตัว จะได้ 15022017-01
มันบันทึกเฉพาะ ddMMyyy- มันไม่บันทึกตัวเลยครับ

ตัวแปร = RMRT_LOT
txt รับค่า = txtRMRT_LotNo

1
2

Code (VB.NET)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        txtRMRT_LotNo.Text = Format(Now.Date.ToString("ddMMyyyy", New CultureInfo("en-US"))) & "-"

    End Sub

Private Sub AddToDB()

        ConnectDB()
            objConn.Open()

            strSQL = "INSERT INTO RawMaterialReceiveTest (RMRT_LOT) VALUES ('" & txtRMRT_LotNo.Text & "')"
            objCmd = New SqlCommand(strSQL, objConn)

            objCmd.ExecuteNonQuery()

            objConn.Close()
                    objConn = Nothing
                    MsgBox("บันทึกข้อมูลสำเร็จ")

        Else
                MsgBox("ข้อมูลเต็ม")
            End If

    End Sub




Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), VB.NET, VS 2012 (.NET 4.x)









ประวัติการแก้ไข
2017-02-15 13:32:44
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-02-15 13:29:49 By : NUTKA View : 860 Reply : 10
 

 

No. 1



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

RMRT_LOT กำหนด datatype เป็นอะไร และ ให้รับค่าได้กี่ตัวรึครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 13:40:54 By : lamaka.tor
 


 

No. 2



โพสกระทู้ ( 83 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-02-15 13:40:54
รายละเอียดของการตอบ ::
3

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 13:42:06 By : NUTKA
 

 

No. 3



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ไม่แน่ใจว่าเกี่ยวกันไม๊

แต่ อยากให้ลองเปลี่ยนเป็น varchar(50) หรือ varchar(15) ดูนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 13:48:50 By : lamaka.tor
 


 

No. 4



โพสกระทู้ ( 83 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-02-15 13:48:50
รายละเอียดของการตอบ ::
ไม่เกี่ยวครับผม

Code เต็มๆครับ
Code (VB.NET)
Imports System.Data.SqlClient
Imports System.Globalization

Public Class RMRT01
    Inherits System.Web.UI.Page

    Dim objConn As SqlConnection
    Dim objCmd As SqlCommand
    Dim strConnString, strSQL, RMRTID, LotNo As String
    Dim dtAdapter As SqlDataAdapter
    Dim ds As DataSet
    Dim dt As DataTable
    Dim result, num, iMAX, Count As Integer

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If Not IsPostBack Then
            LoadDropDownRMT()
            LoadDropDownUnit()
        End If

        txtRMRT_ReceiveDate.Text = Format(Now.Date.ToString("dd/MM/yyyy", New CultureInfo("en-US")))
        txtRMRT_LotNo.Text = Format(Now.Date.ToString("ddMMyyyy", New CultureInfo("en-US"))) & "-"

    End Sub

    Public Sub ConnectDB()

        strConnString = ConfigurationManager.ConnectionStrings("con").ConnectionString
        objConn = New SqlConnection(strConnString)

    End Sub

    Private Sub LoadDropDownRMT()
        Try
            ConnectDB()

            ddlRMRT_LoadRMT.AppendDataBoundItems = True

            strSQL = "Select RMT_RKEY,RMT_NAME From RawMaterialType ORDER BY RMT_NAME ASC"
            dtAdapter = New SqlDataAdapter(strSQL, objConn)
            ds = New DataSet

            objConn.Open()
            dtAdapter.Fill(ds)
            objConn.Close()

            ddlRMRT_LoadRMT.DataSource = ds
            ddlRMRT_LoadRMT.DataTextField = "RMT_NAME"
            ddlRMRT_LoadRMT.DataValueField = "RMT_RKEY"
            ddlRMRT_LoadRMT.DataBind()
            ddlRMRT_LoadRMT.Items.Insert(0, New ListItem("กรุณาเลือกประเภทวัตถุดิบ", "0"))
            ddlRMRT_LoadRM.Items.Insert(0, New ListItem("กรุณาเลือกวัตถุดิบ", "0"))

            ddlRMRT_LoadRMT.SelectedIndex = ddlRMRT_LoadRMT.Items.IndexOf(ddlRMRT_LoadRMT.Items.FindByValue("0"))
            ddlRMRT_LoadRM.SelectedIndex = ddlRMRT_LoadRM.Items.IndexOf(ddlRMRT_LoadRM.Items.FindByValue("0"))
            ddlRMRT_LoadRM.Enabled = False

        Catch ex As Exception
            lblMsg01.Text = "Error 01 : " + ex.Message
        End Try

    End Sub

    Private Sub ddlRMRT_LoadRMT_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlRMRT_LoadRMT.SelectedIndexChanged

        Try
            ConnectDB()
            ddlRMRT_LoadRMT.AppendDataBoundItems = True

            strSQL = "SELECT RM_ID,RM_NAME FROM RawMaterial WHERE RMT_RKEY=@RMT_RKEY ORDER BY RM_NAME ASC"
            objCmd = New SqlCommand(strSQL, objConn)
            objCmd.Parameters.AddWithValue("@RMT_RKEY", ddlRMRT_LoadRMT.SelectedItem.Value)

            objConn.Open()
            ddlRMRT_LoadRM.DataSource = objCmd.ExecuteReader()
            ddlRMRT_LoadRM.DataTextField = "RM_NAME"
            ddlRMRT_LoadRM.DataValueField = "RM_ID"
            ddlRMRT_LoadRM.DataBind()
            ddlRMRT_LoadRM.Items.Insert(0, New ListItem("กรุณาเลือกวัตถุดิบ", "0"))

            ddlRMRT_LoadRM.SelectedIndex = ddlRMRT_LoadRM.Items.IndexOf(ddlRMRT_LoadRM.Items.FindByValue("0"))

            If ddlRMRT_LoadRM.Items.Count > 1 Then
                ddlRMRT_LoadRM.Enabled = True
            Else
                ddlRMRT_LoadRM.Enabled = False

                txtRMRT_PDD.Text = String.Empty
                txtRMRT_SP.Text = String.Empty
            End If

        Catch ex As Exception
            lblMsg01.Text = "Error 01 : " + ex.Message
        Finally
            objConn.Close()
        End Try

    End Sub

    Private Sub ddlRMRT_LoadRM_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ddlRMRT_LoadRM.SelectedIndexChanged
        Try
            ConnectDB()

            strSQL = "SELECT RM.RM_ID, RM.RM_NAME, RM.PDD_RKEY, RM.SP_RKEY, PDD.PDD_RKEY AS Expr1, PDD.PDD_NAME, SP.SP_RKEY AS Expr2, SP.SP_NAME
                        FROM RawMaterial AS RM 
                        INNER JOIN ProductDescription AS PDD ON PDD.PDD_RKEY = RM.PDD_RKEY 
                        INNER JOIN Supplier AS SP ON SP.SP_RKEY = RM.SP_RKEY 
                        WHERE RM_ID=@RM_ID"
            objCmd = New SqlCommand(strSQL, objConn)
            objCmd.Parameters.AddWithValue("@RM_ID", ddlRMRT_LoadRM.SelectedItem.Value)

            objConn.Open()
            Dim sdr As SqlDataReader = objCmd.ExecuteReader()

            While sdr.Read()
                txtRMRT_PDD.Enabled = True
                txtRMRT_SP.Enabled = True
                txtRMRT_PDD.Text = sdr("PDD_NAME").ToString()
                txtRMRT_SP.Text = sdr("SP_NAME").ToString()
            End While

        Catch ex As Exception
            Throw ex
        Finally
            objConn.Close()
        End Try

    End Sub

    Private Sub LoadDropDownUnit()

        Try
            ConnectDB()

            ddlRMRT_UN.AppendDataBoundItems = True

            strSQL = "SELECT UN_RKEY, UN_NAME FROM UNIT ORDER BY UN_NAME ASC"
            dtAdapter = New SqlDataAdapter(strSQL, objConn)
            ds = New DataSet

            objConn.Open()
            dtAdapter.Fill(ds)
            objConn.Close()

            ddlRMRT_UN.DataSource = ds
            ddlRMRT_UN.DataTextField = "UN_NAME"
            ddlRMRT_UN.DataValueField = "UN_RKEY"
            ddlRMRT_UN.DataBind()
            ddlRMRT_UN.Items.Insert(0, New ListItem("กรุณาเลือกหน่วยนับวัตถุดิบ", "0"))

            ddlRMRT_UN.SelectedIndex = ddlRMRT_UN.Items.IndexOf(ddlRMRT_UN.Items.FindByValue("0"))
        Catch ex As Exception
            lblMsg01.Text = "Error 01 : " + ex.Message
        End Try

    End Sub

    Private Sub AddToDB()

        ConnectDB()
        objConn.Open()

        strSQL = "SELECT ISNULL(MAX(RIGHT(RMRT_ID,3)),0) As RMRT_ID FROM RawMaterialReceiveTest"
        objCmd = New SqlCommand(strSQL, objConn)

        Count = objCmd.ExecuteScalar()

        iMAX = IIf(Count <= 0, 1, Count + 1)

        If iMAX < 1000 Then

            Session("RMRTID") = "RMRT" & CStr(Format(Now.Date.ToString("yyyyMMdd", New CultureInfo("en-US")))) & iMAX.ToString("000")

            strSQL = "INSERT INTO RawMaterialReceiveTest (RMRT_ID, RMRT_LOT) VALUES ('" & Session("RMRTID").ToString() & "','" & txtRMRT_LotNo.Text.Trim & "')"
            objCmd = New SqlCommand(strSQL, objConn)

            objCmd.Parameters.Add("@RMRT_RECEIVEDATE", SqlDbType.Date).Value = Format(Now.Date.ToString("dd-MM-yyyy", New CultureInfo("en-US")))
            objCmd.ExecuteNonQuery()

            objConn.Close()
            objConn = Nothing
            MsgBox("บันทึกข้อมูลสำเร็จ")

        Else
            MsgBox("ข้อมูลเต็ม")
        End If

    End Sub

    Protected Sub btnRMRT_Save_Click(sender As Object, e As EventArgs) Handles btnRMRT_Save.Click

        AddToDB()

    End Sub

    Protected Sub btnRMRT_Cancel_Click(sender As Object, e As EventArgs) Handles btnRMRT_Cancel.Click

    End Sub

End Class


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 13:51:52 By : NUTKA
 


 

No. 5



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

งั้นลอง alert เจ้า txtRMRT_LotNo.Text.Trim ออกมาดูนะครับ
ว่ามี ครบไม๊

ถ้าไม่ครบ ก็ต้องไล่เช็คโค้ดใหม่ดู

ถ้าครบ ลอง insert ในตัว SQL ดูนะครับว่าได้ไม๊
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 14:03:26 By : lamaka.tor
 


 

No. 6



โพสกระทู้ ( 83 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-02-15 14:03:26
รายละเอียดของการตอบ ::
แอดใน SQL ได้ครับ มีวิธีเขียนโค้ดแบบอื่นหรือเปล่าครับ โดยให้ ddMMyyy- ขึ้น auto แล้วให้ user ใส่ตัวเลขท้าย 2 ตัวครับ

ddMMyyyy- ให้ auto ขึ้นใน TextBox

ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 14:14:49 By : NUTKA
 


 

No. 7



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ลองศึกษาตัวนี้ดูครับ

https://www.thaicreate.com/community/dot-net-generate-id-number.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 14:30:35 By : lamaka.tor
 


 

No. 8



โพสกระทู้ ( 83 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-02-15 14:30:35
รายละเอียดของการตอบ ::
ผมเปลี่ยนวิธีละครับ 55

โดยการเอาข้อมูลที่ Auto ใส่ใน label แล้วเลข 2 ตัวท้ายให้ใส่ใน textbox

ผ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 16:37:33 By : NUTKA
 


 

No. 9



โพสกระทู้ ( 4,440 )
บทความ ( 23 )



สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 8 เขียนโดย : NUTKA เมื่อวันที่ 2017-02-15 16:37:33
รายละเอียดของการตอบ ::
ถ้ามั่นใจว่า เลข 2 ตัวท้ายใน textbox จะไม่มีโอกาศ ระบุ ก็โอ ครับ

ที่สำคัญต้องมั่นใจว่า User จะไม่กรอก ตัวเลขเดิมนี่แหละ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-15 17:15:53 By : lamaka.tor
 


 

No. 10



โพสกระทู้ ( 83 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-02-15 17:15:53
รายละเอียดของการตอบ ::
จะต้องมีการเช็คค่าซ้ำ

ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-02-16 08:49:31 By : NUTKA
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : โปรแกรมไม่บันทึกตัวเลข 2 ตัวท้ายครับ แนะนำด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่