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,027

HOME > .NET Framework > Forum > อยากสอบถามเรื่องการแก้ไขข้อมูลลูกค้า จะใช้โค๊ดหรือคำสั่งยังไงให้เวลาแก้ไขแล้วเช็ค ว่าเลขบัตรประชาชนห้ามซ้ำกับในฐานข้อมูล แต่หน้าแก้ไข บางทีเราไม่ได้แก้ไข เลขบัตร (แก้ไขพวกชื่อ นามสกุล)



 

อยากสอบถามเรื่องการแก้ไขข้อมูลลูกค้า จะใช้โค๊ดหรือคำสั่งยังไงให้เวลาแก้ไขแล้วเช็ค ว่าเลขบัตรประชาชนห้ามซ้ำกับในฐานข้อมูล แต่หน้าแก้ไข บางทีเราไม่ได้แก้ไข เลขบัตร (แก้ไขพวกชื่อ นามสกุล)

 



Topic : 134351



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



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



มีคำถามเรื่องโค๊ดครับ
สมมติว่าหากเราต้องการทำหน้าแก้ไขลูกค้า
และต้องการเช็ค ว่าเลขบัตรประชาชนห้ามซ้ำเหมือนกับหน้าบันทึกลูกค้า
แต่หน้าแก้ไข บางทีเราไม่ได้แก้ไข เลขบัตร (แก้ไขพวกชื่อ นามสกุล)
เราจะสามารถ ใช้ if ยังไงให้มันตรวจสอบว่าถ้าเป็น บัตรประชาชนอันเดิม ให้สามารถแก้ไขได้
แต่ถ้าเป็นอันใหม่(ทำการแก้ไข) ให้มันเช็คในฐานข้อมูลว่าซ้ำกับตัวอื่นมั้ย

โดยปกติจะใช้การเช็ค แบบนี้เอาคับ
connect_open() เป็นตัวเชื่อมต่อฐานข้อมูล

Code (VB.NET)
    Friend Function cmd_excuteScalar()
        connect_open()
        cmd = New SqlCommand(sql, cn)
        Return cmd.ExecuteScalar
    End Function

sql = "select count(*) from customer where cus_idcard= '" & txt_idcard & "'"
If cmd_excuteScalar() > 0 Then
            msg_error("มีเลขบัตรประชาชนนี้แล้ว")
            Return
End If


พอดีพึ่งลองทำ อยู่ช่วงกำลังศึกษาอยู่ครับ ดูคลิปคนอื่นๆ ละลองพิมพ์ตามละทำความเข้าใจอยู่ ไงก็รบกวนพี่ๆ ช่วยแนะนำทีนะครับ



Tag : .NET, Ms SQL Server 2016, Win (Windows App)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-10-16 18:16:26 By : 10215890978539437 View : 809 Reply : 8
 

 

No. 1



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



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

ลองเพิ่ม ตัวแปร Bool ขึ้นมาซักตัว
ไว้สำหรับ บอกว่า ตอนนี้ เป็นหน้า เพิ่มข้อมูลสามารถเปลี่ยน ID ได้ นะ ตอนนี้ เป็นหน้าแก้ไขนะ ไม่สามารถเปลี่ยน ID ได้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-10-16 18:27:49 By : lamaka.tor
 


 

No. 2



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : lamaka.tor เมื่อวันที่ 2019-10-16 18:27:49
รายละเอียดของการตอบ ::
ปัญหามันเกิดจากแก้ไขข้อมูลครับ เวลาหน้าแก้ไขข้อมูล
-ถ้าต้องการแก้เฉพาะจุดเช่น ชื่อ-สกุล ที่อยู่...
แต่ไม่ต้องการแก้บัตรประชาชน มันจะเช็คยังไงครับ
-ต้องใช้โค๊ดยังไงเพื่อดึงข้อมูล cus_idcard มาเปรียบเทียบกับข้อมูลใน textbox และต้องใส่คำสั่งให้ถ้า บัตรประชาชนคนนี้เหมือนเดิม ไม่ต้องเช็ค ถ้าต่างต้องเช็คอะครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-10-16 20:08:09 By : 10215890978539437
 

 

No. 3



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



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

ปกติผมเคยทำแต่ php เลยรู้วิธีดึงข้อมูลมาเช็ค แต่อันนี้ผมไม่รู้เลยว่าดึงยังไง ทำได้แต่อิงตามการ select count กับ max แล้วก็ * อะไรปกติ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-10-16 20:10:36 By : 10215890978539437
 


 

No. 4

Guest


ก่อนแก้ไขเราก็ได้ข้อมูลอันเก่ามาอยู่แล้วไม่ใช่หรือครับ
ปัญหานี้แค่ไม่ได้คิดนอกกรอบเท่านั้นเอง
เพราะก่อนแก้ไขเราก็ มี key cust_num cust_name cust_idcard
อยู่ก่อนแล้ว เราก็เอาข้อมูลพวกนี้เข้าตัวแปรเอาไว้ก่อน
พอมีการแก้ไขให้เช็คตรงนี้ก่อน ว่า มีแก้ไขจุดไหนที่เราคิดว่าไม่ควรซ้ำกับคนอื่น
โดยเช็คจากค่าที่ได้มาจาก TextBox กับ ตัวแปรที่เก็บ
เช่น TextBox cust_idcard กับตัวแปรที่เป็น cust_idcard
ถ้าไม่ตรงกัน ก็ให้ไปตรวจที่ฐานข้อมูลอีกรอบ ว่า cust_idcard ที่แก้ไขนี้มีอยู่ไหมในฐานข้อมูล
ถ้าไม่มีก็ update ได้เลย ก็เท่านั้นเองครับผม

คือที่อธิบายยาวๆ จะได้เข้าใจนะครับ
จริงๆถ้าเก็บเข้าตัวแปรทุกอย่างก็จบครับผม
เช็คตรงนี้ก่อนค่อยไปฐานข้อมูล ประมาณนี้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-10-17 09:01:28 By : บัญดิษฐ
 


 

No. 5



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



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


ตรวจสอบโดยอ้างอิง primary key ครับ

เช่น แก้ไข primary key = 1
สมมุติ id เป็น primary key = 1

ก็ตรวจสอบ ประมาน
select count(*) from customer where cus_idcard = '1111111111111' and id != 1
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-10-17 09:38:30 By : birdbird27
 


 

No. 6



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



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

งั้นวิธีง่ายๆ คงต้องมานั่งเขียน อัลกอ ดูครับ

แค่เรารู้ขั้นตอน แถมมีพื้นฐาน มันจะได้ของมันไปเอง
ส่วนการเช็ค cus_idcard เขียนตาม เนื้อหาของคำถามนั้น ถูกแล้วครับ

การ select อาจจะต้องดูว่า ควรจะใช้ = หรือ like ดีถึงจะได้ผลที่ต้องการ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-10-17 20:41:47 By : lamaka.tor
 


 

No. 7



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



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


สวัสดีครับ

มีหลายวิธีแล้ว แต่จะใช้นะครับ

ลองดูวิธีที่ผมแนะนำนะครับ


1. ใช้วิธีการ SELECT COUNT ต้องเช่น
Code (SQL)
SELECT COUNT(*) FROM customer WHERE cus_idcard=  '" & txt_idcard & "'" AND USERID <> "" & txt_iduser & "'"


2. กำหนด ค่าให้เป็น unique ใน table

3. ดูในนี้ https://stackoverflow.com/questions/5599874/how-can-i-check-for-duplicates-before-inserting-into-a-table-when-inserting-by-s

4.สร้าง function บน sql server เพื่อ โยน ค่า บัตรประชาชน และให้ sql server ค้นหา และ return ค่ากลับมาว่า duplicate หรือเปล่า

ปล.วิธีที่ผมแนะนำ อาจจะไม่ใช่วิธีที่ดีที่สุด หรือ ถูกที่สุดนะครับ แต่น่าจะช่วยให้คุณเกิดไอเดียใหม่ๆ ไม่มากก็น้อย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-10-18 01:13:31 By : bigsuntat
 


 

No. 8



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



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

ขอบคุณทุกคอมเม้นมากครับ ตอนนี้ผมทำได้แล้ว
พอดีพึ่งลองทำอยู่เลยไม่ค่อยเข้าใจโค๊ดเท่าไหร่ แต่ตอนนี้ได้ละครับ ถามว่ารู้เงื่อนไขมั้ยว่าต้องทำไง รู้ครับ แต่ตอนแรกยังไม่ค่อยรู้ว่าต้องเขียนโค๊ดไรถึงดึง pk เอามาทำเงื่อนไขได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-10-19 12:21:07 By : 10215890978539437
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : อยากสอบถามเรื่องการแก้ไขข้อมูลลูกค้า จะใช้โค๊ดหรือคำสั่งยังไงให้เวลาแก้ไขแล้วเช็ค ว่าเลขบัตรประชาชนห้ามซ้ำกับในฐานข้อมูล แต่หน้าแก้ไข บางทีเราไม่ได้แก้ไข เลขบัตร (แก้ไขพวกชื่อ นามสกุล)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 00
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 อัตราราคา คลิกที่นี่