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 > C# WinApp งง กับ Datawizard ครับ มันเปิดใน datagrid แล้ว Error



 

C# WinApp งง กับ Datawizard ครับ มันเปิดใน datagrid แล้ว Error

 



Topic : 130888



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



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



ตอนเทสก็ปกติดีนะครับ

1

แต่พอเอามาเปิดใน datagrid กลับ Error

11



Tag : .NET, C#, VS 2013 (.NET 4.x)







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-04-23 10:22:16 By : lamaka.tor View : 819 Reply : 13
 

 

No. 1



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



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


เดาว่าระบบน่าจะสร้าง key หลัก ไม่ได้ครับ
อาจจะมีข้อมูลบางบรรทัดที่เหมือนกันทุกคอลัมภ์เลย






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-23 11:31:06 By : fonfire
 


 

No. 2



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



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

จากที่งมๆ มาซักครึ่งวันพบว่าตัวปัญหาคือ ตาราง Reagent_In ครับ

หากไม่มี Reagent_In จะได้แบบนี้

1

ใน datagridview

2


พอเพิ่ม Reagent_In เลือก ฟิลด์มา ก็ Error เลย

44

ผมลองเอาแค่ เพิ่มตารางมาเฉยๆ
ยังไม่ทันได้เลือกฟิลด์ ใดๆเลย ก็ Error แล้วเช่นกัน
3


Code (SQL)
SELECT        Reagent_List.Reagent_List_ID, Reagent_List.Reagent_ID, Reagent_List.Reagent_List_Name_1, Reagent_List.Formula, Reagent_Type.Reagent_Type_1, 
                         Reagent_Grad.Reagent_Grad_1, Reagent_In.Reagent_In_Date, Reagent_In.Reagent_Ex, Reagent_In.Reagent_In_File_1
FROM            Reagent_Grad LEFT OUTER JOIN
                         Reagent_List ON Reagent_Grad.Reagent_Grad_ID = Reagent_List.Reagent_Grad_ID LEFT OUTER JOIN
                         Reagent_Type ON Reagent_List.Reagent_Type_ID = Reagent_Type.Reagent_Type_ID LEFT OUTER JOIN
                         Reagent_In ON Reagent_List.Reagent_List_ID = Reagent_In.Reagent_List_ID
WHERE        (Reagent_In.Reagent_Using = 1)
ORDER BY Reagent_Grad.Reagent_Grad_1


แปลกใจตรงที่แค่เพิ่ม ตาราง ก้ Error แล้วทั้งๆที่ไม่ได้เลือก ฟิลด์มาใช้งานเลยนี่ละครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-23 18:00:18 By : lamaka.tor
 

 

No. 3



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



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


ล่าสุดที่ได้ข้อมูลมา 45 แถว
มีข้อมูลแถวไหนที่ซ้ำกันทั้งชุดไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 08:14:38 By : fonfire
 


 

No. 4



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



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

key เป็น int หรือ string และ Error คิดว่าเกิดจากค่า null ของ key หรือ null ของ column ครับ
ลองรัน Query ที่ database แทน แล้วค่อย join ทีละ เทเบิล
แทนการลากวางครับ (มันอาจจะไม่ต่างกันแต่ผมเลือกวิธีนี้พิมพ์เอามันกว่า 555)
คุณ tor คงเข้าใจเรื่อง inner join left join outer join หรือ join ต่างๆแล้วใช่ไหมครับ
มาลองเล่น sub query ดูครับ แล้วจะรู้ว่าการเขียน query แทนการลากวางมันกว่าจริงๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 09:41:59 By : บัญดิษฐ
 


 

No. 5



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : fonfire เมื่อวันที่ 2018-04-24 08:14:38
รายละเอียดของการตอบ ::
มีครับ ที่มี 45 เพราะผม ดึงมามาหมดทุกแถวครับ
แต่พอใช้ Reagent_In.Reagent_Using = 1 จะเหลือ 28 ครับ


ตอบความคิดเห็นที่ : 4 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2018-04-24 09:41:59
รายละเอียดของการตอบ ::
key เป็น int ครับ เรื่อง sub query ก็พอรู้งูๆปลาๆ ครับ ยังไม่เคยทำจริงๆจังๆครับ อาจจะต้องลองเขียนดูครับ
ด้วยความที่คิดว่าตัวเองไม่ใช่ โปรแกรมเมอร์มืออาชีพ อาศัย แค่ว่าเขียนให้แล็บใช้งานเลยเน้นใช้ wizard component ครับ
แต่ถ้า เขียน query มันดีกว่าก็อาจจะต้องสร้าง คลาส มารองรับอีกทีละครับ เพราะถ้าให้เขียนใน หน้าฟอร์มคงไม่ไหว ตอนนี้หน้าฟอร์มผมเยอะขึ้นเรื่อยๆ เพราะมีแต่คนอย่ากได้โน่น อยากได้นี่ ครับ


ตอนแรกคิดว่าเป็นที่ Null ที่ PK เลยเช็คใน SQL ดู

1311

แต่หลังจากที่ทำการแก้ไขแล้วก็ยังเป็นเหมือนเดิมครับ


2

ตัวนี้เป็น โค้ด SQL ครับ
3

Code (SQL)
SELECT     dbo.Reagent_List.Reagent_List_ID, dbo.Reagent_List.Reagent_ID, dbo.Reagent_List.Reagent_List_Name_1, dbo.Reagent_List.Formula, 
                      dbo.Reagent_Type.Reagent_Type_1, dbo.Reagent_Grad.Reagent_Grad_1, dbo.Reagent_In.Reagent_In_Date, dbo.Reagent_In.Reagent_Ex, 
                      dbo.Reagent_In.Reagent_In_File_1, dbo.Reagent_In.Reagent_Using, dbo.Reagent_In.Reagent_In_Manrecord
FROM         dbo.Reagent_Grad INNER JOIN
                      dbo.Reagent_List ON dbo.Reagent_Grad.Reagent_Grad_ID = dbo.Reagent_List.Reagent_Grad_ID INNER JOIN
                      dbo.Reagent_In ON dbo.Reagent_List.Reagent_List_ID = dbo.Reagent_In.Reagent_List_ID INNER JOIN
                      dbo.Reagent_Type ON dbo.Reagent_List.Reagent_Type_ID = dbo.Reagent_Type.Reagent_Type_ID
WHERE     (dbo.Reagent_In.Reagent_Using = 1)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 10:41:19 By : lamaka.tor
 


 

No. 6



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



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

ความต้องการคืออย่างไงครับ ต้องการเทเบิลไหนเป็นหลัก
ถ้าใช้ inner join ถ้าข้อมูลไม่ตรงทั้ง 2 เทเบิล(id ที่ join) จะไม่แสดงข้อมูลนะครับ
ลองใช้ left join ดู ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 10:50:05 By : บัญดิษฐ
 


 

No. 7



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



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


เดาเอาน่ะครับ

เป็นเพราะ ID ที่ 24 มันมี 2 บรรทัด หรือปล่าวครับ
ลองเอารายการที่ 24 ออก
หรือแก้ให้มันมีบรรทัดเดียวดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 10:57:04 By : fonfire
 


 

No. 8



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



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

ตอบความคิดเห็นที่ : 6 เขียนโดย : บัญดิษฐ เมื่อวันที่ 2018-04-24 10:50:05
รายละเอียดของการตอบ ::
ใช้ Reagent_List เป็น ตารางหลักครับ

ผมลองเปลี่ยนเป็นทั้ง left ทั้ง right แล้วก็ไม่เป็นผลครับ
เดี่ยวผมลอง ดูตารางหลักอีกรอบนะครับ ถ้าแก้เป็น Reagent_List จะเป็นยังไง
พอดีผมดึงๆมาอย่างเดียวไม่ได้คิดถึงเรื่องตารางเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 11:14:44 By : lamaka.tor
 


 

No. 9



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



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

ตอบความคิดเห็นที่ : 7 เขียนโดย : fonfire เมื่อวันที่ 2018-04-24 10:57:04
รายละเอียดของการตอบ ::
ปกติก็น่าจะได้นะครับ(อันนี้ไม่แน่ใจ)

แต่แปลกใจตรงที่ทั้งใน Wizard และ ms SQL รันได้ปกติ แต่พอเอามารันใน datagrid กลับไม่ได้
ผมลองทั้งทำ wizard ทั้ง เอามาทำเป็น query ดู ก็ไม่ได้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 11:17:56 By : lamaka.tor
 


 

No. 10



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



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


คิดว่าน่าจะเป็นเพราะ เปิดการ Edit ของ DataGrid ไว้ครับ
ถ้าเอาข้อมูลมาแสดงเฉย ๆ ไม่น่าเป็นไร

แต่ถ้าจะแก้ไขข้อมูลผ่าน DataGrid ด้วย
มันก็ต้องเป็นข้อมูลที่ชัดเจน
และห้ามซ้ำซ้อนกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 11:21:34 By : fonfire
 


 

No. 11



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



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

ใช่อย่างที่ท่าน fonfire ว่าไว้ครับ ID ที่ 24 มันมี 2 บรรทัด มันซ้อนกัน ผมลอง ทำตัวหนึ่ง เป็น false แล้วได้จริงๆครับ

55

งั้นปัญหาใหม่ก็คือ
ถ้าหา ID หนึ่งมีสารเคมีที่ใช้งานอยู่ 2 ขวด อย่างที่กรณี ID ที่ 24 ที่มีการใช้งาน 2 ขวด
เราจะโชว์ ทั้ง 2 ได้ยังไง ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 14:22:18 By : lamaka.tor
 


 

No. 12



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



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


โปรแกรมต้องมีการแก้ไขข้อมูลผ่าน DataGrid ไหมครับ
ถ้าแค่แสดงผลอย่างเดียว
ผมคิดว่าถ้าปิดการ Add/Edit/Update/Delete ไปน่าจะได้น่ะครับ
ไม่แน่ใจว่าใน DataWizard มันตั้งได้หรือปล่าว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 15:31:01 By : fonfire
 


 

No. 13



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



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

ตอบความคิดเห็นที่ : 12 เขียนโดย : fonfire เมื่อวันที่ 2018-04-24 15:31:01
รายละเอียดของการตอบ ::
ปกติผมจะตั้งไว้ใน datagrid ครับ

333

อาจจะลอง ปิด เพื่อให้ User อ่านอย่างเดียวดูก่อนครับ
ถ้าอยาก แก้ไขให้คลิกที่ row header เพื่อให้มีหน้า dialog มาให้แก้ไขก็ได้ครับ

ต้องลองดูก่อน ได้ผลยังไงเดี๋ยวจะแจ้งอีกทีครับ




ประวัติการแก้ไข
2018-04-24 16:30:51
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-24 16:25:31 By : lamaka.tor
 

   

ค้นหาข้อมูล


   
 

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