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 > SQL ถามเรื่องเช็คคอลัมที่มีการเปลี่ยนแปลงครับ



 

SQL ถามเรื่องเช็คคอลัมที่มีการเปลี่ยนแปลงครับ

 



Topic : 129686



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



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




ผมมีคอลัม TYPE กับ STATUS อยู่ครับ โดยคอลัม STATUS จะมีค่าเป็น A , B , C จะเปลี่ยนค่าตามนี้โดยการกดปุ่มครับ แต่บางครั้งกดปุ่มค่าในคอลัม STATUS บางก็ไม่เปลี่ยน ผมต้องการจะ select คอลัมที่มีการเปลี่ยนแปลงครับ โดยจะมีคอลัม TYPE เป็นตัวอ้าง



Tag : .NET, Ms SQL Server 2014







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-12-12 10:27:38 By : meatspin View : 1445 Reply : 21
 

 

No. 1



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



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


ถ้า Type ไม่เยอะแบบง่ายๆก็
if type="" then 'dropdownlist
where status
else if type = "" then
where status
end if
ผิดพลาดขอ อภัย นะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 11:26:03 By : adminliver
 


 

No. 2



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



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

เราควรกลับไปหาสาเหตุ ดีไม๊ครับ ว่าทำไมถึงไม่เปลี่ยน แล้วเริ่มแก้จากตรงนั้น น่าจะเหมาะกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 12:12:05 By : lamaka.tor
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-12 12:12:05
รายละเอียดของการตอบ ::
ไม่ครับ ที่ไม่เปลี่ยนมันเป็นเงื่อนไขของผมอยู่แล้ว ไม่ได้ผิดพลาดอะไร

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-12 12:47:56 By : meatspin
 


 

No. 4



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



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


มีใครทราบไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-20 15:48:33 By : meatspin
 


 

No. 5



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



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

ตอนนี้ถึงขั้นตอนไหนครับ และ ผลออกมาเป็นยังไง(ห้ามบอกว่า ยังไม่ถึงไหนเลยครับ )
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-20 16:51:28 By : lamaka.tor
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-20 16:51:28
รายละเอียดของการตอบ ::
ก็ยังไม่ถึงไหนเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-20 16:55:14 By : meatspin
 


 

No. 7



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



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : meatspin เมื่อวันที่ 2017-12-20 16:55:14
รายละเอียดของการตอบ ::
ขอดูหน้าตาโปรแกรมตอนที่รัน กับ โค้ดที่ใช้ได้ไม๊ครับ

สรุปก็คือ

1. STATUS จะมีค่าเป็น A , B , C
2. อยากทราบว่า ถ้าเรา เปลี่ยนจาก A เป็น B แล้วจะ select แถวที่เราเปลี่ยนมายังไง

จาก 1,2 ใช่ผมเข้าใจถูกไม๊ครับ



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


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-20 17:02:38
รายละเอียดของการตอบ ::

คือง่ายๆนะครับ มันเป็นการ select เฉพาะฟิลด์ที่มีค่าที่เปลี่ยนไปอะครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-20 17:09:23 By : meatspin
 


 

No. 9



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



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


เป้าหมายคืออยากรู้ว่าข้อมูลแถวไหนที่มี STATUS เปลี่ยนแปลง ผมเข้าใจถูกไหมครับ (แอบงง)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-20 17:14:07 By : nPointXer
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : nPointXer เมื่อวันที่ 2017-12-20 17:14:07
รายละเอียดของการตอบ ::
ใช่ครับ ประมาณนั้นเลย ดูตามภาพได้เข้าใจ

select change2




ประวัติการแก้ไข
2017-12-20 17:29:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-20 17:18:40 By : meatspin
 


 

No. 11



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



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


ตอบความคิดเห็นที่ : 10 เขียนโดย : meatspin เมื่อวันที่ 2017-12-20 17:18:40
รายละเอียดของการตอบ ::
ทำเป็น Trigger ดีไหมครับ แล้วเอาการเปลี่ยนแปลงไปเก็บไว้อีกตาราง ทีนี้เราจะรู้เลยว่ามีตารางไหนเปลี่ยนแปลง วันเวลาเท่าไหร่ด้วย เหมือนเก็บเป็น Logs ไว้เลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-20 17:34:15 By : nPointXer
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : nPointXer เมื่อวันที่ 2017-12-20 17:34:15
รายละเอียดของการตอบ ::
ไม่อยากทำครับ อยากใช้การ select ธรรมดาเนี่ยแหละ หรือว่ามันทำไม่ได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-20 17:36:27 By : meatspin
 


 

No. 13



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



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

อาจจะต้องเก็บค่าเก่าไว้ใน datatable หนึ่งก่อน
พอแก้ไขข้อมูลเสร็จ แล้วจึงเอามาเทียบกันดู

ถ้าแบบนี้ได้แน่ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-21 00:31:37 By : lamaka.tor
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 13 เขียนโดย : lamaka.tor เมื่อวันที่ 2017-12-21 00:31:37
รายละเอียดของการตอบ ::
อันนี้ผมลองเขียนเทสใน vb นะ เป็นการนับเฉพาะคอลัมที่มีการเปลี่ยนแปลง โดยจัดตาม Type แต่มันเหมือนจะไม่เช็คทีละ Row อะครับ

Code (ASP)
 Private Function prcCountUpdate()
        nErrNo = 0
        Dim myconn As New OleDb.OleDbConnection(Session(Session.SessionID).gsConnect)
        myconn.Open()
        For j = 0 To qchk.Count - 1 'ดึงค่าคอลัม STATUS ในตารางมาเช็ค
          
                Dim cSQL As String = "select count(DISTINCT TYPE) as count from TABLE where STATUS!= '" & qchk.Item(j) & "'  and TYPE like '%[" & qparavhtype & "]' "

                Dim myda As New OleDb.OleDbCommand(cSQL, myconn)
                Dim mydatareader As OleDb.OleDbDataReader = myda.ExecuteReader()

                If mydatareader.Read() Then 'พบรหัส
                    Return mydatareader.Item("COUNT").ToString
                
                mydatareader.Close()





ประวัติการแก้ไข
2017-12-21 13:19:49
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-21 11:47:11 By : meatspin
 


 

No. 15



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



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


Code (C#)
        private void button2_Click(object sender, EventArgs e)
        {
//ดึงมาจาก DB
            List<Table> table1 = new List<Table>()
            {
                new Table{Name = "1", Status = "A"},
                new Table{Name = "2", Status = "A"},
                new Table{Name = "3", Status = "A"},
                new Table{Name = "4", Status = "A"},
                new Table{Name = "5", Status = "A"}
            };
//กรอกเข้ามา
            List<Table> user1 = new List<Table>()
            {
                new Table{Name = "1", Status = "B"},
                new Table{Name = "2", Status = "A"},
                new Table{Name = "3", Status = "B"},
                new Table{Name = "4", Status = "B"},
                new Table{Name = "5", Status = "A"}
            };

//เปรียบเทียบ
            List<string> name = new List<string>();
            for(int i=0; i<table1.Count; i++)
            {
                if (table1[i].Status != user1[i].Status)
                {
                    name.Add(table1[i].Name);
                }
            }
        }


        public class Table
        {
            public string Name { get; set; }
            public string Status { get; set; }
        }

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-21 12:07:47 By : OOP
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 15 เขียนโดย : OOP เมื่อวันที่ 2017-12-21 12:07:47
รายละเอียดของการตอบ ::
อันนี้ผมลองเขียนในแบบของผมแล้วอะ แต่ไม่เช็คทีละ Row แต่มันเช็ตทุก Row เลย อะ



Code (ASP)
 Private Function prcCountUpdate()
        nErrNo = 0
        Dim myconn As New OleDb.OleDbConnection(Session(Session.SessionID).gsConnect)
        myconn.Open()
        For j = 0 To qchk.Count - 1 'ดึงค่าคอลัม STATUS ในตารางมาเช็ค
          
                Dim cSQL As String = "select count(DISTINCT TYPE) as count from TABLE where STATUS!= '" & qchk.Item(j) & "'  and TYPE like '%[" & qparavhtype & "]' "

                Dim myda As New OleDb.OleDbCommand(cSQL, myconn)
                Dim mydatareader As OleDb.OleDbDataReader = myda.ExecuteReader()

                If mydatareader.Read() Then 'พบรหัส
                    Return mydatareader.Item("COUNT").ToString
                
                mydatareader.Close()
next




ประวัติการแก้ไข
2017-12-21 13:22:40
2017-12-21 13:23:16
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-21 13:22:17 By : meatspin
 


 

No. 17



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



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


ขอดูหน้าตา ตารางที่เก็บ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-21 13:51:34 By : OOP
 


 

No. 18



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



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


ตอบความคิดเห็นที่ : 17 เขียนโดย : OOP เมื่อวันที่ 2017-12-21 13:51:34
รายละเอียดของการตอบ ::
Concat

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-21 15:18:18 By : meatspin
 


 

No. 19



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



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


ทำไม STatus เป็น NULL หมดละคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-21 16:35:36 By : OOP
 


 

No. 20



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



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

ตอบความคิดเห็นที่ : 14 เขียนโดย : meatspin เมื่อวันที่ 2017-12-21 11:47:11
รายละเอียดของการตอบ ::
โค้ด ต้อง สร้าง ตารางแรกมาก่อนครับ

เมื่อเราแก้ไขเรียบร้อย ดึงมาอีกตาราง
จากนั้นให้ for loop เพื่อเช็คครับ

ดูรูปจาก No. 10 แล้วทำตามแบบนั้นเปะๆเลย

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


 

No. 21



โพสกระทู้ ( 9,559 )
บทความ ( 2 )



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


เพิ่ม field เวลาอัพเดท ลงในตาราง ก็จะรู้ว่าล่าสุดอัพเดทเมื่อไหร่

ตารางที่ทำไม่มีทาง รู้ว่าอันไหนอัพเดทอันไหนไม่อัพเดท
แค่รู้ว่า จำนวนที่มี type ตามกำหนดเท่านั้น

ถ้า a เปลี่ยนเป็น b
และมี field a เปลี่ยนเป็น c
และมี field c เปลี่ยนเป็น a
เราจะรู้ได้อย่างไรว่า ทั้งสาม record ได้เปลี่ยนแปลงไป ถ้าไม่มีวันที่เป็นตัวกำหนด
หรือไม่มีตารางเก่า มาเป็นตัวชีื ยังไงก็ต้องเปลี่ยนแปลงตาราง กำหนดฟีลด์ให้ครบถ้วน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-12-21 19:14:28 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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