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 > ทำโปรแกรมเป็น install คับพี่ ๆน้อง ๆสามารถเอาไปใช้ได้เคดิต คุณหางอึ่ง ที่ช่วยครับ



 

ทำโปรแกรมเป็น install คับพี่ ๆน้อง ๆสามารถเอาไปใช้ได้เคดิต คุณหางอึ่ง ที่ช่วยครับ

 



Topic : 057721



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



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




5555



ทำโปรแกรมเป็นตัว install แล้วใช้งาน จะทำการ Save แล้วมันขึ้น Error แบบนี้เพราะอะไรคับ
ไม่เข้าใจ ผู้รู้ช่วยบอกที ทำเสร็จแล้วใช้งานจริงไม่ได้ เศร้า



Tag : .NET, MySQL, VB.NET, VS 2008 (.NET 3.x)









ประวัติการแก้ไข
2011-03-25 16:00:29
2011-03-25 16:01:13
2011-03-25 16:03:24
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-03-24 08:02:44 By : angelrings0 View : 3190 Reply : 45
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

เคนเจอ Case นี้ครับ แสดงว่าโปรแกรมมันเกิด Error แน่นอนครับ ลอง Copy ตรง Exception ทั้งหมดมาให้ดูครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 08:23:58 By : webmaster
 


 

No. 2



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



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


ครับ แต่ไปเอา Exception ตรงไหนอะครับ Case นี้ไม่เคยเจอ หรือว่าในตัวหน้าจอที่มันขึ้น Error ครับ
แบบนี้หรือป่าวคับ คุณ win



See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Data.OleDb.OleDbException: Operation must use an updateable query.
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
at NEW_PROGRAMMARKETING.ADD_LISTNAMEDOCTOR.cmd_Save_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
NEW_PROGRAMMARKETING
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program_marketing/NEW_PROGRAMMARKETING.exe
----------------------------------------
Microsoft.VisualBasic
Assembly Version: 8.0.0.0
Win32 Version: 8.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.4927 (NetFXspW7.050727-4900)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.Transactions/2.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5420 (Win7SP1.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_32/System.EnterpriseServices/2.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


ประวัติการแก้ไข
2011-03-24 08:35:13
2011-03-24 08:37:33
2011-03-24 08:45:49
2011-03-24 13:45:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 08:34:02 By : angelrings0
 

 

No. 3



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



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


ไม่มีท่านกูรูมาตอบเลย ง่า จะทำเช่นไร
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 13:46:16 By : angelrings0
 


 

No. 4



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ก็ปัญหามันยากนิ
ผมก็ติดปัญหาของผมอยู่เหมือนกัน
เขียน VB.NET 2005 ใช้ Crystal Report 10.2
บน Windows XP

ทำตัว Install ไปลงบนเครื่อง Windows XP ทำงานได้ไม่มีปัญหาอะไร

แต่พอเอาลงบนเครื่อง Windows 7 -> พิมพ์รายงาน Crystal Report ไม่ได้ซะงั้น
ไปดู Assembly Cache (C:\Windows\Assembly) ก็เห็นมี Crystal Report Component ดูครบดี

เซ็งเป็ดมาก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 14:20:08 By : หางอึ่ง
 


 

No. 5



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

Quote:
System.Data.OleDb.OleDbException: Operation must use an updateable query.


Error นี้เองครับ น่าจะเป็นที่ Database Readonly หรือไม่มีสิทธิ์ในการ write Database ครับ ลองคลิกขวาที่ Database ในส่วนของ Access ครับ เลือก Tag -> Security ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 14:26:38 By : webmaster
 


 

No. 6



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



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


ตอบคุณ หางอึ่งครับ

ผมก้อเป็นครับ

คือ ว่ามันใช้ สถาปัตยกรรม อะไรสักอย่างนิแหละไม่เหมือนกัน คับ ผมใช้ vb6 เขียนก้อใช้ไม่ได้เหมือนกัน

เลยมาทำ vb 2008 เนี่ยแหละคับมันแก้ปัญหาตรงนี้ได้ แต่ก้อติดอย่างที่เห็นแหละครับ ไม่เข้าใจ เป็น งง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 15:01:48 By : angelrings0
 


 

No. 7



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



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


ครับคุณ win ผมจะลองดูนะครับ ได้ผลแบบไหนรายงานเป็นระยะ ครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 15:03:04 By : angelrings0
 


 

No. 8



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



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


ครับคุณ win

รายงานผล เหมือนเดิมครับ เปิดสิทธิให้ทุกอย่างก้อยังเหมือนเดิม
ทำมัยมันทำ Install ยากจิง ๆ vb6 กับ vb2005 ง่ายกว่าอีก แค่ไม่มี Error
ก้อทำตัว Install ได้แล้ว แต่นี้ไม่ Error สักที่ ทำ Install ไม่ได้ไม่เข้าจัย

ถ้าอยู่ใกล้ นะจะเอาไปให้ดู แต่นี้ผมอยู่เชียงใหม่ คงลำบาก -*-

1111

22222

33333

44444


ประวัติการแก้ไข
2011-03-24 16:19:40
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 16:10:33 By : angelrings0
 


 

No. 9



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

Error เดิมหรือเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 17:30:01 By : webmaster
 


 

No. 10



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : angelrings0 เมื่อวันที่ 2011-03-24 16:10:33
รายละเอียดของการตอบ ::
Attribute Readonly ถูกติ๊กอยู่จริงด้วย (No.8 ภาพแรก)



ประวัติการแก้ไข
2011-03-24 18:00:00
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-24 17:59:25 By : หางอึ่ง
 


 

No. 11



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



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


โทษทีครับ เกิด Error เหมือน เดิมครับ ทำตามที่คุณ win บอกแล้วนะคับ

ก้อยังเหมือนเดิม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 07:51:44 By : angelrings0
 


 

No. 12



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

จริง ๆ ด้วย Readonly ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 08:39:16 By : webmaster
 


 

No. 13



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



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


อ้อ ผมแค่เอามาเป็นตัวอย่างนะครับ ลองทั้งติ๊ก Readonly หรือไม่ Readonly ก้อเหมือนเดิมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 09:37:53 By : angelrings0
 


 

No. 14



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


1. ลองเปิดไฟล์ข้อมูลด้วย MSAccess บนเครื่องที่มีปัญหา
แล้วเอาคำสั่ง Update ไปรันดูรึยังครับ

2. โปรแกรมมีปัญหาฟอร์มเดียว หรือทุกฟอร์มที่เกี่ยวข้องกับการ Update Query?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 10:09:29 By : หางอึ่ง
 


 

No. 15



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



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


มันไม่สามารถ เพิ่ม ลบ แก้ไข ได้เลย แต่อย่างอื่นทำได้หมด เหมือนกับว่ามันไม่ให้ทำการ เพิ่่ม ลบแก้ไข นะคับ

แต่พอเรา รันในโปรแกรม vb2008 มันก้อไม่มีปัญหาอะไรนะครับ แต่พอทำเป็นตัว install แล้วมันกลับทำไม่ได้นะครับ
แปลกดี ถ้าจะเอาโค๊ดไปลองก้อได้นะครับผมไม่หวงครับ ถือว่าแลกเปลี่ยนกัน ถ้างั้ย บอก mail มาได้ ทั้ง คุณหางอึ่ง
และคุณ win จะเอาไปลองดูได้ครับ โปรแกรมเล็ก ๆ ครับ แต่รายงานทั้งหมดผมออกทาง Excel ทั้งหมดนะครับ อิอิ


ประวัติการแก้ไข
2011-03-25 10:25:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 10:24:16 By : angelrings0
 


 

No. 16



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


PM ไปแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 10:37:19 By : หางอึ่ง
 


 

No. 17



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



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


PM ไปที่ใครครับไม่เห็นเลย โพล์ ลงในนี้เลยครับ เดียวจัดให้ หาไม่เจอใน PM เลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 10:41:38 By : angelrings0
 


 

No. 18



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


angelrings0
คราวนี้น่าจะได้แล้ว


คุณ win ครับ
เมื่อกี้ ผมลองจิ้มเข้าไปที่ profile ของ angelrings0
แล้วเจอคำว่า Send Private Message (PM)
ตรงนี้ไม่ได้หมายความว่า เราต้องการส่ง PM ถึงเค้าเหรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 10:56:43 By : หางอึ่ง
 


 

No. 19



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


angelrings0
ขออภัยนะครับ
ไม่อยากทั้งเมล์ไว้ในหน้า Webboard
มันประเจิดประเจ้อไปหน่อยน่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 10:58:04 By : หางอึ่ง
 


 

No. 20



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ตอบความคิดเห็นที่ : 18 เขียนโดย : หางอึ่ง เมื่อวันที่ 2011-03-25 10:56:43
รายละเอียดของการตอบ ::
... ใช่ครับ เป็นการ PM ข้อความครับ


ตอบความคิดเห็นที่ : 17 เขียนโดย : angelrings0 เมื่อวันที่ 2011-03-25 10:41:38
รายละเอียดของการตอบ ::
... รูปจดหมายบนสุดของเว็บไวต์ครับ


ยังไงถ้าแก้ไขได้แล้ว รบกวนโพสวิธีด้วยน่ะครับ เผื่อท่านอื่น ๆ จะได้อ่านได้ด้วยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 11:09:42 By : webmaster
 


 

No. 21



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



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


ยกเลิก Read Only ทั้งตัว ACCESS และ *** Folder ที่เก็บ ACCESS ผมว่าติดตรง Folder นี้แหละ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 11:21:14 By : kaimuk
 


 

No. 22



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 20 เขียนโดย : webmaster เมื่อวันที่ 2011-03-25 11:09:42
รายละเอียดของการตอบ ::
คุณ win ครับ
ถ้าหากการจิ้มไปที่ profile ของ angelrings0
แล้วจิ้ม Send Private Message (PM)
เป็นการส่ง PM ถึง angelrings0
แสดงว่ามันอาจจะเกิดปัญหาแล้วล่ะ

ผมต้องเข้า PM ตัวเอง
แล้วจิ้มตรง "เขียนข้อความ"
ถึงจะ PM ได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 11:23:42 By : หางอึ่ง
 


 

No. 23



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ตอบความคิดเห็นที่ : 22 เขียนโดย : หางอึ่ง เมื่อวันที่ 2011-03-25 11:23:42
รายละเอียดของการตอบ ::
...เลือกที่เมนู PM ด้านบนสุดครับ Icon เล็ก ๆ ก็จะเข้าสู่หน้จอหลักของสมาชิกครับ

PM Message

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 11:40:42 By : webmaster
 


 

No. 24



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



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


ส่งให้แล้วนะครับ คุณหางอึ่ง คุณ win จะเอาไปลองดูด้วยป่าวครับ จะได้ส่งให้
PM มาหานะครับถ้าเอา จะได้วิจารณ์ งานที่ผมเขียนด้วย อิอิ มือใหม่ vb.net
แต่ vb6 พอตัวคับ เดียวผม pm เมล์ไปให้นะครับคุณหางอึ่ง


ประวัติการแก้ไข
2011-03-25 11:58:14
2011-03-25 12:05:32
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 11:57:27 By : angelrings0
 


 

No. 25



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ผมยังใช้ VB.NET 2005 อยู่เลย
ไม่รู้จะเปิดของคุณได้รึเปล่า ต้องไปลองที่บ้าน

ขออนุญาตให้ความเห็นเกี่ยวกับการเขียนโปรแกรม เท่าที่ความรู้ผมมีนะครับ


EDIT_LISTDOCTOR_ORDER_BYNAME.vb
Option Explicit On
Imports System.Data.OleDb

Public Class EDIT_LISTDOCTOR_ORDER_BYNAME

    Dim strConn As String
    Dim Conn As New OleDbConnection
    Dim da, da1, da2, da3 As OleDbDataAdapter
    Dim dc1, dc2, dc3 As New DataTable
    Dim ds, Dataset As New DataSet()
    Dim ComSearch As New OleDbCommand
    Dim CurrentEmployees As Integer
    Dim IsFind As Boolean = False

    Private Sub EDIT_LISTDOCTOR_OTHER_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LoadFiledata()
        showAllDoctor()
        cmd_EDIT.Enabled = False : cmd_SAVEEDIT.Enabled = False
        cmd_DELECT.Enabled = False : cmd_CLEAR.Enabled = False
        cmd_Searchdata.Enabled = False : cmd_EXIT.Enabled = True
        ClearTextF() : txt_Searchdata.Focus()
    End Sub

    Private Sub LoadFiledata()
        ' Code ติดต่อกับฐานข้อมูล Accress 2007
        ' strConn = "Provider=Microsoft.ACE.OLEDB.12.0; " & _
        '       "Data Source=..\\NEWMarketing.accdb;Persist Security Info=False"

        ' Code ติดต่อกับฐานข้อมูล Accress 2003
        strConn = "provider=Microsoft.Jet.oleDb.4.0; Data Source=..\\NEWMarketing.mdb"

        Dim Conn As New OleDbConnection(strConn)
        Conn.Open()

        Dim Sql As String = "select * from savedoctors"
        Dim Cmd As New OleDbCommand(Sql, Conn)
        Dim Adapter As New OleDbDataAdapter(Cmd)

        Dim Data As New DataSet()
        Adapter.Fill(Data, "cat")

        Dim Data1 As New DataSet()
        DataGridView1.DataSource = Data.Tables("cat")
        Conn.Close()

        Dim sqlCategories As String
        sqlCategories = "SELECT * from savedoctors"
        da = New OleDbDataAdapter(sqlCategories, Conn)
        da.Fill(ds, "savedoctors")
        Return
    End Sub

    Private Sub CallDataContant_Title()
        '---------------------------------------------(เรียกข้อมูลจาก Table Provinces มาแสดงใน Combobox)
        Dim sqlComputer_Plean As String
        Dim Conn As New OleDbConnection(strConn)
        Conn.Open()
        sqlComputer_Plean = "SELECT id_Contact,contact_type FROM Contact_type"
        da1 = New OleDbDataAdapter(sqlComputer_Plean, Conn)
        da1.Fill(dc1)
        With cmb_Contact
            .DataSource = dc1
            .DisplayMember = dc1.Columns.Item("contact_type").ColumnName  'ตัวที่ใช้แสดงใน Combobox
            .SelectedItem = dc1.Columns.Item("id_Contact").ColumnName 'รหัสที่เราสร้างขึ้นมาเช่น Primary Key
        End With
        Return
    End Sub

    Private Sub CallDataPlance_Title()
        '---------------------------------------------(เรียกข้อมูลจาก Table Provinces มาแสดงใน Combobox)
        Dim sqlComputer_Plean As String
        Dim Conn As New OleDbConnection(strConn)
        Conn.Open()
        sqlComputer_Plean = "SELECT id_plan,workplean_labtype FROM Workplean_type"
        da2 = New OleDbDataAdapter(sqlComputer_Plean, Conn)
        da2.Fill(dc2)
        With cmb_Workplean
            .DataSource = dc2
            .DisplayMember = dc2.Columns.Item("workplean_labtype").ColumnName  'ตัวที่ใช้แสดงใน Combobox
            .SelectedItem = dc2.Columns.Item("id_plan").ColumnName 'รหัสที่เราสร้างขึ้นมาเช่น Primary Key
        End With
        Return
    End Sub

    Private Sub CallDataPrivince_Title()
        '---------------------------------------------(เรียกข้อมูลจาก Table Provinces มาแสดงใน Combobox)
        Dim sqlComputer_Plean As String
        Dim Conn As New OleDbConnection(strConn)
        Conn.Open()
        sqlComputer_Plean = "SELECT id_province,name_province FROM Province_type"
        da3 = New OleDbDataAdapter(sqlComputer_Plean, Conn)
        da3.Fill(dc3)
        With cmb_Province
            .DataSource = dc3
            .DisplayMember = dc3.Columns.Item("name_province").ColumnName  'ตัวที่ใช้แสดงใน Combobox
            .SelectedItem = dc3.Columns.Item("id_province").ColumnName 'รหัสที่เราสร้างขึ้นมาเช่น Primary Key
        End With
        Return
    End Sub

    Private Sub ClearTextT()
        txt_Type.Text = "" : txt_Type.Enabled = True
        lbl_Name.Text = "" : lbl_Name.Enabled = True
        txt_birthday.Text = "" : txt_birthday.Enabled = True
        lbl_Clinic.Text = "" : lbl_Clinic.Enabled = True
        txt_Address.Text = "" : txt_Address.Enabled = True
        txt_Tel.Text = "" : txt_Tel.Enabled = True
        txt_Tels.Text = "" : txt_Tels.Enabled = True
        txt_Telwork1.Text = "" : txt_Telwork1.Enabled = True
        txt_Telwork2.Text = "" : txt_Telwork2.Enabled = True
        txt_Fax.Text = "" : txt_Fax.Enabled = True
        txt_Email.Text = "" : txt_Email.Enabled = True
        txt_Working.Text = "" : txt_Working.Enabled = True
        txt_Service.Text = "" : txt_Service.Enabled = True
        txt_Marks.Text = "" : txt_Marks.Enabled = True
        txt_Plean.Text = "" : txt_Plean.Enabled = True
        cmb_Province.Text = "จังหวัด" : cmb_Province.Enabled = True
        txt_website.Text = "" : txt_website.Enabled = True
        cmb_Contact.Text = "สถานะการติดต่อ" : cmb_Contact.Enabled = True
        cmb_Workplean.Text = "สถานประกอบการ" : cmb_Workplean.Enabled = True
    End Sub

    Private Sub ClearTextF()
        lbl_id.Text = "000000"
        txt_Type.Text = "" : txt_Type.Enabled = False
        lbl_Name.Text = "" : lbl_Name.Enabled = False
        txt_birthday.Text = "" : txt_birthday.Enabled = False
        lbl_Clinic.Text = "" : lbl_Clinic.Enabled = False
        txt_Address.Text = "" : txt_Address.Enabled = False
        txt_Tel.Text = "" : txt_Tel.Enabled = False
        txt_Tels.Text = "" : txt_Tels.Enabled = False
        txt_Telwork1.Text = "" : txt_Telwork1.Enabled = False
        txt_Telwork2.Text = "" : txt_Telwork2.Enabled = False
        txt_Fax.Text = "" : txt_Fax.Enabled = False
        txt_Email.Text = "" : txt_Email.Enabled = False
        txt_Working.Text = "" : txt_Working.Enabled = False
        txt_Service.Text = "" : txt_Service.Enabled = False
        txt_Marks.Text = "" : txt_Marks.Enabled = False
        txt_Plean.Text = "" : txt_Plean.Enabled = False
        cmb_Province.Text = "จังหวัด" : cmb_Province.Enabled = False
        txt_website.Text = "" : txt_website.Enabled = False
        cmb_Contact.Text = "สถานะการติดต่อ" : cmb_Contact.Enabled = False
        cmb_Workplean.Text = "สถานประกอบการ" : cmb_Workplean.Enabled = False
    End Sub

    Private Sub ClearTextEdit()
        txt_Type.Enabled = True : lbl_Name.Enabled = True
        txt_birthday.Enabled = True
        lbl_Clinic.Enabled = True : txt_Address.Enabled = True
        txt_Tel.Enabled = True : txt_Tels.Enabled = True
        txt_Telwork1.Enabled = True : txt_Telwork2.Enabled = True
        txt_Fax.Enabled = True : txt_Email.Enabled = True
        txt_Working.Enabled = True : txt_Service.Enabled = True
        txt_Marks.Enabled = True : txt_Plean.Enabled = True
        cmb_Province.Enabled = True : txt_website.Enabled = True
        cmb_Contact.Enabled = True : cmb_Workplean.Enabled = True
    End Sub

    Private Sub showAllDoctor() ' Function ใช้เพื่อ Call Table Doctor
        Dim SqlDoctor As String
        SqlDoctor = "SELECT * From savedoctors"

        SqlDoctor &= " FROM savedoctors"
        da.SelectCommand.CommandText = SqlDoctor

        If IsFind = True Then
            ds.Tables("savedoctors").Clear()
        End If
        If ds.Tables("savedoctors").Rows.Count <> 0 Then
            IsFind = True

            With DataGridView1
                .ReadOnly = True
                .DataSource = ds.Tables("savedoctors")
            End With
        Else
            IsFind = False
        End If
        Formdisplay_Colum()
        Return
    End Sub

    Private Sub Formdisplay_Colum() ' Function แสดงหัวข้อบน Gridviwe Table Doctor
        Dim Ss As New DataGridViewCellStyle()

        Ss.Font = New Font("AngsanaUPC", 17, FontStyle.Bold)

        With DataGridView1
            If .RowCount > 0 Then
                .Columns(0).HeaderText = "รหัส"
                .Columns(1).HeaderText = "อักษรนำหน้ารหัส"
                .Columns(2).HeaderText = "ชื่อทันตแพทย์"
                .Columns(3).HeaderText = "วัน / เดือน / ปี เกิด"
                .Columns(4).HeaderText = "ชื่อคลินิก"
                .Columns(5).HeaderText = "ที่อยู่"
                .Columns(6).HeaderText = "เบอร์มือถือ"
                .Columns(7).HeaderText = "เบอร์มือถือ"
                .Columns(8).HeaderText = "เบอร์ที่ทำงาน"
                .Columns(9).HeaderText = "เบอร์ที่ทำงาน"
                .Columns(10).HeaderText = "เบอร์แฟร์ก"
                .Columns(11).HeaderText = "E - MAIL  ADDRESS"
                .Columns(12).HeaderText = "ลักษณะงานที่ทำ"
                .Columns(13).HeaderText = "แล็ปที่ใช้บริการ"
                .Columns(14).HeaderText = "หมายเหตุ"
                .Columns(15).HeaderText = "สถานที่ทำงาน"
                .Columns(16).HeaderText = "จังหวัดที่ตั้งสถานประกอบการ"
                .Columns(17).HeaderText = "WEB - SITE"
                .Columns(18).HeaderText = "สถานะการติดต่อ"
                .Columns(19).HeaderText = "ประเภทสถานประกอบการ"
                .Columns(20).HeaderText = "ตรวจสอบสถานะ"

                .Columns(0).Width = 53
                .Columns(1).Width = 120
                .Columns(2).Width = 200
                .Columns(3).Width = 120
                .Columns(4).Width = 290
                .Columns(5).Width = 340
                .Columns(6).Width = 95
                .Columns(7).Width = 95
                .Columns(8).Width = 105
                .Columns(9).Width = 105
                .Columns(10).Width = 95
                .Columns(11).Width = 210
                .Columns(12).Width = 160
                .Columns(13).Width = 160
                .Columns(14).Width = 250
                .Columns(15).Width = 170
                .Columns(16).Width = 150
                .Columns(17).Width = 247
                .Columns(18).Width = 120
                .Columns(19).Width = 170
                .Columns(20).Width = 100
            End If
        End With
    End Sub

    Private Sub DataGridView1_CellMouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Handles DataGridView1.CellMouseUp
        If e.RowIndex = DataGridView1.Rows.Count - 1 Then
            Exit Sub
        End If
        If e.RowIndex = -1 Then Exit Sub
        With DataGridView1
            CurrentEmployees = CInt(.Rows.Item(e.RowIndex).Cells(0).Value)
            lbl_id.Text = .Rows.Item(e.RowIndex).Cells(0).Value.ToString()
            txt_Type.Text = .Rows.Item(e.RowIndex).Cells(1).Value.ToString()
            lbl_Name.Text = .Rows.Item(e.RowIndex).Cells(2).Value.ToString()
            txt_birthday.Text = .Rows.Item(e.RowIndex).Cells(3).Value.ToString()
            lbl_Clinic.Text = .Rows.Item(e.RowIndex).Cells(4).Value.ToString()
            txt_Address.Text = .Rows.Item(e.RowIndex).Cells(5).Value.ToString()
            txt_Tel.Text = .Rows.Item(e.RowIndex).Cells(6).Value.ToString()
            txt_Tels.Text = .Rows.Item(e.RowIndex).Cells(7).Value.ToString()
            txt_Telwork1.Text = .Rows.Item(e.RowIndex).Cells(8).Value.ToString()
            txt_Telwork2.Text = .Rows.Item(e.RowIndex).Cells(9).Value.ToString()
            txt_Fax.Text = .Rows.Item(e.RowIndex).Cells(10).Value.ToString()
            txt_Email.Text = .Rows.Item(e.RowIndex).Cells(11).Value.ToString()
            txt_Working.Text = .Rows.Item(e.RowIndex).Cells(12).Value.ToString()
            txt_Service.Text = .Rows.Item(e.RowIndex).Cells(13).Value.ToString()
            txt_Marks.Text = .Rows.Item(e.RowIndex).Cells(14).Value.ToString()
            txt_Plean.Text = .Rows.Item(e.RowIndex).Cells(15).Value.ToString()
            cmb_Province.Text = .Rows.Item(e.RowIndex).Cells(16).Value.ToString()
            txt_website.Text = .Rows.Item(e.RowIndex).Cells(17).Value.ToString()
            cmb_Contact.Text = .Rows.Item(e.RowIndex).Cells(18).Value.ToString()
            cmb_Workplean.Text = .Rows.Item(e.RowIndex).Cells(19).Value.ToString()
            lbl_Checkdoc.Text = .Rows.Item(e.RowIndex).Cells(20).Value.ToString()
        End With
        cmd_EDIT.Enabled = True : cmd_DELECT.Enabled = True
        cmd_CLEAR.Enabled = True : cmd_EXIT.Enabled = False
        Return
    End Sub

    Private Sub cmd_Searchdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_Searchdata.Click
        Dim sqlSearch As String
        Dim dr As OleDbDataReader
        Dim dt As DataTable
        ComSearch = New OleDbCommand()
        With Conn
            If .State = ConnectionState.Open Then .Close()
            .ConnectionString = strConn
            .Open()

            sqlSearch = "Select * from savedoctors where name_doctor like '%" & txt_Searchdata.Text.Trim() & "%' order by id_doctor asc"

            With ComSearch
                ComSearch.CommandType = CommandType.Text
                ComSearch.CommandText = sqlSearch
                ComSearch.Connection = Conn
                ComSearch.Parameters.AddWithValue("name_doctor", OleDbType.VarChar).Value = txt_Searchdata.Text.Trim()
                dr = .ExecuteReader()

                If dr.HasRows Then
                    dt = New DataTable()
                    dt.Load(dr)
                    DataGridView1.DataSource = dt
                    cmd_Searchdata.Enabled = False : cmd_EDIT.Enabled = False
                    cmd_EXIT.Enabled = False : txt_Searchdata.Enabled = False
                Else
                    MessageBox.Show("ไม่พบข้อมูล")
                    txt_Searchdata.Clear()
                    txt_Searchdata.Enabled = True
                    txt_Searchdata.Focus()
                End If
            End With
        End With
        dr.Close()
        Return
    End Sub

    Private Sub txt_Searchdata_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txt_Searchdata.TextChanged
        If txt_Searchdata.Text = "" Then
            cmd_Searchdata.Enabled = False
        Else
            cmd_Searchdata.Enabled = True
        End If
    End Sub

    Private Sub cmd_EDIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_EDIT.Click
        ClearTextEdit()
        CallDataContant_Title()
        CallDataPlance_Title()
        CallDataPrivince_Title()
        cmd_EDIT.Enabled = False : cmd_DELECT.Enabled = False
        cmd_SAVEEDIT.Enabled = True : cmd_CLEAR.Enabled = True
        cmd_EXIT.Enabled = False
    End Sub

    Private Sub cmd_SAVEEDIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_SAVEEDIT.Click
        Dim SqlEdit As String
        Dim ComEdit As New OleDbCommand

        If txt_Type.Text = "" Then
            MessageBox.Show("กรอกข้อมูลอักษรนำหน้ารหัส  !!!", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
            txt_Type.Focus()
            Exit Sub
        End If
        If txt_Address.Text = "" Then
            MessageBox.Show("กรอกข้อมูลที่อยู่ คลินิก / โรงพยาบาล  !!!", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
            txt_Address.Focus()
            Exit Sub
        End If

        If MessageBox.Show("ต้องการแก้ไขข้อมูลทันตแพทย์  หรือไม่", "แจ้งให้ทราบ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
            SqlEdit = "UPDATE savedoctors SET"
            SqlEdit &= " id_doctor = '" & lbl_id.Text & "',"
            SqlEdit &= " type_doctor = '" & txt_Type.Text & "',"
            SqlEdit &= " name_doctor = '" & lbl_Name.Text & "',"
            SqlEdit &= " birth_doctor = '" & txt_birthday.Text & "',"
            SqlEdit &= " clinic_doctor = '" & lbl_Clinic.Text & "',"
            SqlEdit &= " address_doctor = '" & txt_Address.Text & "',"
            SqlEdit &= " tel_doctor = '" & txt_Tel.Text & "',"
            SqlEdit &= " tels_doctor = '" & txt_Tels.Text & "',"
            SqlEdit &= " telwork1_doctor = '" & txt_Telwork1.Text & "',"
            SqlEdit &= " telwork2_doctor = '" & txt_Telwork2.Text & "',"
            SqlEdit &= " fax_doctor = '" & txt_Fax.Text & "',"
            SqlEdit &= " email_doctor = '" & txt_Email.Text & "',"
            SqlEdit &= " working_doctor = '" & txt_Working.Text & "',"
            SqlEdit &= " labservice_doctor = '" & txt_Service.Text & "',"
            SqlEdit &= " marks_doctor = '" & txt_Marks.Text & "',"
            SqlEdit &= " Workplace_doctor = '" & txt_Plean.Text & "',"
            SqlEdit &= " Province_doctor = '" & cmb_Province.Text & "',"
            SqlEdit &= " website_doctor = '" & txt_Email.Text & "',"
            SqlEdit &= " Contact_Lab = '" & cmb_Contact.Text & "',"
            SqlEdit &= " Workplace_lab = '" & cmb_Workplean.Text & "',"
            SqlEdit &= " Check_doc = '" & lbl_Checkdoc.Text & "'"
            SqlEdit &= " WHERE id_doctor ='" & lbl_id.Text & "'"

            With Conn
                If .State = ConnectionState.Open Then .Close()
                .ConnectionString = strConn
                .Open()
            End With
            ComEdit.CommandType = CommandType.Text
            ComEdit.CommandText = SqlEdit
            ComEdit.Connection = Conn
            ComEdit.ExecuteNonQuery()
        End If
        MessageBox.Show("แก้ไขข้อมูลทันตแพทย์   เรียบร้อยแล้ว", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
        LoadFiledata()          ' Function Call เรียกใช้งาน Table Loadtable From Doctor
        showAllDoctor()       ' Function Call เรียกใช้งาน Table Doctor
        Formdisplay_Colum()     ' Function Call เรียกใช้งาน Display Field
        ClearTextF()
        cmd_SAVEEDIT.Enabled = False : cmd_CLEAR.Enabled = False
        txt_Searchdata.Enabled = True : txt_Searchdata.Text = ""
        txt_Searchdata.Focus()
        Return
    End Sub

    Private Sub cmd_CLEAR_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_CLEAR.Click
        ClearTextF()
        cmd_SAVEEDIT.Enabled = False : cmd_EXIT.Enabled = False
        cmd_CLEAR.Enabled = False : txt_Searchdata.Enabled = True
        cmd_EDIT.Enabled = False : cmd_DELECT.Enabled = False
        txt_Searchdata.Text = "" : txt_Searchdata.Focus()
    End Sub

    Private Sub cmd_DELECT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_DELECT.Click
        Dim SqlDelete As String
        Dim ComDelete As New OleDbCommand

        If (lbl_id.Text = "") Then
            Return
        End If

        If MessageBox.Show("ต้องการลบข้อมูลทันตแพทย์  หรือไม่", "แจ้งให้ทราบ", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then

            SqlDelete = "DELETE * FROM savedoctors"
            SqlDelete = "WHERE id_doctor = lbl_id.Text"
            ComDelete = New OleDbCommand(SqlDelete, Conn)
            With Conn
                If .State = ConnectionState.Open Then .Close()
                .ConnectionString = strConn
                .Open()
            End With

            SqlDelete = "DELETE * FROM savedoctors WHERE id_doctor = lbl_id.Text"
            ComDelete = New OleDbCommand(SqlDelete, Conn)
            ComDelete.Parameters.AddWithValue("lbl_id.Text", lbl_id.Text)
            ComDelete.ExecuteNonQuery()
        End If
        MessageBox.Show("ลบข้อมูลทันตแพทย์   เรียบร้อยแล้ว", "แจ้งให้ทราบ", MessageBoxButtons.OK, MessageBoxIcon.Information)
        LoadFiledata()          ' Function Call เรียกใช้งาน Table Loadtable From Doctor
        showAllDoctor()       ' Function Call เรียกใช้งาน Table Doctor
        Formdisplay_Colum()     ' Function Call เรียกใช้งาน Display Field
        ClearTextF()
        cmd_EDIT.Enabled = False : cmd_DELECT.Enabled = False
        txt_Searchdata.Enabled = True : txt_Searchdata.Text = ""
        txt_Searchdata.Focus()
        Return
    End Sub

    Private Sub cmd_EXIT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_EXIT.Click
        Me.Close()
    End Sub
End Class

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 13:29:19 By : watcharop
 


 

No. 26



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



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


ว่ามาเลยครับ ชุดใหญ่ ๆ ยิ่งดี จะได้เอาไปปรับปรุง ข้อบกพร่องของตัวเอง

แล้วที่เอาโค๊ดมาโพล์ จะถามไรเหรอครับ -*- เล่นเอามาทั้ง from เลย อิอิ


ประวัติการแก้ไข
2011-03-25 13:33:41
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 13:32:18 By : angelrings0
 


 

No. 27



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


1.โดยทั่วไป ในฟอร์มหนึ่งๆ ใช้ dataset ตัวเดียวก็พอครับ
ไม่รู้ว่าคุณทราบหรือเปล่าว่า dataset สามารถมี datatable ได้หลายตัว

1.1 เพราะฉะนั้น ประกาศ Private ds As New DataSet() ในส่วนของ Declaration ของ Class ตัวเดียวก็พอ
หรือถ้าจะให้ดี ใน Toolbox ของ VS จะมี Component ที่ชื่อ DataSet
ลากมันออกมาวางในฟอร์มได้เลย

1.2 dataset.tables.contains จะช่วยในการตรวจสอบว่ามีตารางที่ระบุอยู่ใน dataset นี้หรือยัง
ds.Tables.Contains("doctors") จะคืนว่าเป็น True ถ้าพบว่ามีตาราง doctors อยู่ใน ds
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 13:41:16 By : watcharop
 


 

No. 28



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ช่วย ๆ กันน่ะครับ พอดีติดงานอยู่น่ะครับ

Cheer!! ให้คุณหางอึ่ง ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 13:46:00 By : webmaster
 


 

No. 29



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


2. เกี่ยวกับ String Connection
เราจะเอาไว้ใน Application Setting นะครับ
คลิกขวาที่ชื่อ Project เลือก Properties แล้วไปที่ Setting
เราจะสร้างมันในหน้านี้แหละครับ

สมมุติเราสร้าง String Connection ชื่อ AppStringConnection
เวลาจะอ้างอิงถึง เราก็เขียนว่า
strConn = My.Setting.AppStringConnection

ข้อดีคือ เมื่อมีการเปลี่ยน Path มันง่ายในการแก้ไขโปรแกรมครับ

String Connection
    Private Sub LoadFiledata()
        ' Code ติดต่อกับฐานข้อมูล Accress 2007
        ' strConn = "Provider=Microsoft.ACE.OLEDB.12.0; " & _
        '       "Data Source=..\\NEWMarketing.accdb;Persist Security Info=False"

        ' Code ติดต่อกับฐานข้อมูล Accress 2003
        'Dim conStr As String = _
        strConn = "provider=Microsoft.Jet.oleDb.4.0; Data Source=..\\NEWMarketing.mdb"

        Dim Conn As New OleDbConnection(strConn)
        Conn.Open()

        Dim Sql As String = "select * from savedoctors"
        Dim Cmd As New OleDbCommand(Sql, Conn)
        Dim Adapter As New OleDbDataAdapter(Cmd)

        Dim Data As New DataSet()
        Adapter.Fill(Data, "cat")

        Dim Data1 As New DataSet()
        DataGridView1.DataSource = Data.Tables("cat")
        Conn.Close()

        Dim sqlCategories As String
        sqlCategories = "SELECT * from savedoctors"
        da = New OleDbDataAdapter(sqlCategories, Conn)
        da.Fill(ds, "savedoctors")
        Return
    End Sub


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 13:47:33 By : watcharop
 


 

No. 30



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


3. ควรปิด Connection ทุกครั้งหลังสิ้นสุดการทำงาน
อย่างข้างล่างนี้ Conn.Close() ควรเอาไว้บรรทัดสุดท้าย (ก่อน Return)

da.Fill(ds, "savedoctors") -> จะทำให้ Conn เปิดขึ้นมาอีก

Code (VB.NET)
Private Sub LoadFiledata()
    ' Code ติดต่อกับฐานข้อมูล Accress 2007
    ' strConn = "Provider=Microsoft.ACE.OLEDB.12.0; " & _
    '       "Data Source=..\\NEWMarketing.accdb;Persist Security Info=False"

    ' Code ติดต่อกับฐานข้อมูล Accress 2003
    'Dim conStr As String = _
    strConn = "provider=Microsoft.Jet.oleDb.4.0; Data Source=..\\NEWMarketing.mdb"

    Dim Conn As New OleDbConnection(strConn)
    Conn.Open()

    Dim Sql As String = "select * from savedoctors"
    Dim Cmd As New OleDbCommand(Sql, Conn)
    Dim Adapter As New OleDbDataAdapter(Cmd)

    Dim Data As New DataSet()
    Adapter.Fill(Data, "cat")

    Dim Data1 As New DataSet()
    DataGridView1.DataSource = Data.Tables("cat")
    Conn.Close()

    Dim sqlCategories As String
    sqlCategories = "SELECT * from savedoctors"
    da = New OleDbDataAdapter(sqlCategories, Conn)
    da.Fill(ds, "savedoctors")
    Return
End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 13:52:28 By : watcharop
 


 

No. 31



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


4. ในโปรแกรมควรมี Error Handler (Try Box) อยู่ด้วย เพราะถึงเก่งแค่ไหน อย่าหวังว่าจะพ้น Bug
ซึ่งทำไม่ยาก
Try
.... เขียนโค้ดที่นี่
....
....
Catch Ex As Exception
Messagebox.Show(ex.Message)
End Try
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 13:56:40 By : watcharop
 


 

No. 32



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


5. ฟอร์มที่หน้าตาเหมือนกัน ไม่ควรเขียนแยกเป็น 2 ฟอร์ม
จะทำให้เขียนโปรแกรมยุ่งยาก

เท่าที่สังเกต EDIT_LISTDOCTOR_ORDER_NAME.vb กับ EDIT_LISTDOCTOR_ORDER_BYCLINIC.vb
ต่างกันที่การค้นหามั้ง

EDIT_LISTDOCTOR_ORDER_BYCLINIC.vb (Partial)
    Private Sub cmd_Searchdata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd_Searchdata.Click
        Dim sqlSearch As String
        Dim dr As OleDbDataReader
        Dim dt As DataTable
        ComSearch = New OleDbCommand()
        With Conn
            If .State = ConnectionState.Open Then .Close()
            .ConnectionString = strConn
            .Open()

            sqlSearch = "Select * from savedoctors where clinic_doctor  like '%" & txt_Searchdata.Text.Trim() & "%' order by id_doctor asc"

            With ComSearch
                ComSearch.CommandType = CommandType.Text
                ComSearch.CommandText = sqlSearch
                ComSearch.Connection = Conn
                ComSearch.Parameters.AddWithValue("clinic_doctor", OleDbType.VarChar).Value = txt_Searchdata.Text.Trim()
                dr = .ExecuteReader()

                If dr.HasRows Then
                    dt = New DataTable()
                    dt.Load(dr)
                    DataGridView1.DataSource = dt
                    cmd_Searchdata.Enabled = False : cmd_EDIT.Enabled = False
                    cmd_EXIT.Enabled = False : txt_Searchdata.Enabled = False
                Else
                    MessageBox.Show("ไม่พบข้อมูล")
                    txt_Searchdata.Clear()
                    txt_Searchdata.Enabled = True
                    txt_Searchdata.Focus()
                End If
            End With
        End With
        dr.Close()
        Return
    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 14:02:48 By : watcharop
 


 

No. 33



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


แค่นี้พอเนอะ พอเป็นไอเดีย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 14:03:39 By : watcharop
 


 

No. 34

Guest


อยากจะเสริมเลยว่าหากจะจัดเก็บ error เพื่อเป็นกิจลักษณะ
ควรออกแบบระบบ log ไว้ตั้งแต่การออกแบบค่ะ
เพื่อจะแนบเข้าไปในทุกส่วนของ application
ไม่ต้องไปสิเรียสขนาดทำตาม design pattern
เพียงแค่เป็นเครื่องมือชั้นดีของการตรวจจับและแจ้งจุดบกพร่องได้ค่อนข้างดีค่ะ
ในกรณีที่ advance เราอาจจะทำเป็น aggressive app
คือในตัว app จะทำการแจ้งตัว error กลับมาที่ทีมพัฒนาก่อนที่ลูกค้าจะเห็น
เพื่อทำการปรับแก้เสียก่อน เพราะเป็นไปไม่ได้ที่จะไม่มีข้อบกพร่องใดๆเลย
ตามกฏของเมอร์ฟี่ย์ค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 14:42:23 By : สาวเอ๋อ เอ๋อเหรอ เอ๋อมากมาย
 


 

No. 35



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



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


อ่าเดียวขอ จัดการกับมันแปปเดียวรายงานผล
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 14:49:25 By : angelrings0
 


 

No. 36



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ตอบความคิดเห็นที่ : 34 เขียนโดย : สาวเอ๋อ เอ๋อเหรอ เอ๋อมากมาย เมื่อวันที่ 2011-03-25 14:42:23
รายละเอียดของการตอบ ::
อย่างไรที่เรียกว่า aggressive app เหรอครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 15:03:27 By : watcharop
 


 

No. 37



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



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


5555


คุณหางอึ่ง เข้ามา set ในนี้นะเหรอครับ อันนี้ไม่เข้าใจจิง ๆ ผมเข้ามาในนี้มันก้อเป็นแบบนี้อยู่แล้ว

มันสามารถ เรียกใช้ได้ด้วยเหรอ คับ อันนี้ไม่รู้จิง ผมไม่เคยใช้อะ แล้วตอนเรียกใช้ผมต้องเรียกในส่วนนี้อย่างไร งง จริง ๆ

strConn = My.Setting.AppStringConnection
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 15:18:26 By : angelrings0
 


 

No. 38



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



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


ไม่มี My.Setting.NEWMarketingConnectionString เหรอ??

หรือไม่ก็ต้องผ่าน xxx อะไรอีกสักอย่างก่อนถึง NEWMarketingConnectionString

(My.Setting.XXXX.NEWMarketingConnectionString)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 15:26:17 By : watcharop
 


 

No. 39



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



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


แปปนะครับ พอจะเข้าใจละ ขอลองแปป เดียวให้คำตอบคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 15:35:03 By : angelrings0
 


 

No. 40



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



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


ok ครับเจอละ ต้องใส่แบบ นี้เลย

strConn = My.Settings.NEWMarketingConnectionString

ใช่ได้ครับ คุณหางอึ่ง

แต่ต้องไปเพิ่มใน viwe code แบบนี้ใช้ป่าวครับ หรือว่าผิด ผมเดา เอานะคับ

Namespace My
'This class allows you to handle specific events on the settings class:
' The SettingChanging event is raised before a setting's value is changed.
' The PropertyChanged event is raised after a setting's value is changed.
' The SettingsLoaded event is raised after the setting values are loaded.
' The SettingsSaving event is raised before the setting values are saved.

Partial Friend NotInheritable Class MySettings
Dim strConn As String = "provider=Microsoft.Jet.oleDb.4.0; Data Source=..\\NEWMarketing.mdb"
End Class

End Namespace
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 15:43:27 By : angelrings0
 


 

No. 41



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



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


OK ครับ คุณหางอึ่ง ได้แล้วครับ สวดยอดเลย สามารถทำได้แล้ว ขอบคุณคับ

แก้ไขแค่ data base แค่ที่เดียวได้หมดเลยครับ แล้วไปเปลี่ยนconnection ใน from ให้เป็น
strConn = My.Settings.NEWMarketingConnectionString

ก้อทำ Install ได้แล้วครับ ไม่รู้เลย ว่าต้องทำแบบนี้ให้มันรู้จัก ฐานข้อมูลก่อน ขอบคุณคับ ได้ความรู้เพิ่มอีก แจ่มเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 15:55:07 By : angelrings0
 


 

No. 42



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

โอ๊ว แอบลุ้นตั้งนานในที่สุดก็ได้ ยินดีด้วยครับ อยากช่วยเหมือนกันครับ แต่บางเรื่องก็รู้เท่าที่รู้ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 16:08:41 By : webmaster
 


 

No. 43



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



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


ครับ ขอบคุณคับ ที่ช่วย แล้ว ให้คำแนะนำ ครับ คุณ win

ถามต่ออีกหน่อย คับแล้วเราจะให้ 1 เครื่องเป็น server แล้วให้เครื่องอื่น ๆ
เข้ามาใช้โปรแกรม อย่างไร และต้อง set อะไรอีกบ้างนะครับ อันนีัเป็นปัญหาอยู่
เพราะตอนนี้ data base access ได้แล้ว แต่ data base ที่เป็น mysql นะครับ มันต้อง
ทำอย่างงั้ยให้เป็นตัว install นะครับ ยังไม่เข้าใจวิธีทำเลย ช่วยแนะนำหน่อยคับ


ประวัติการแก้ไข
2011-03-25 16:13:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 16:10:28 By : angelrings0
 


 

No. 44



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

เท่าที่เข้าใจก็คือ โปรแกรมจะต้องลงที่ Client ทุกตัวครับ ส่วน Database ลงเครื่องเดียวครับ ส่วน Client ก็เรียกผ่าน MySQL ผ่าน IP ครับ ก็น่าจะได้แล้วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 16:19:58 By : webmaster
 


 

No. 45



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



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


อ้อครับ พอเป็นแนวทางครับ เดียวต้องลองก่อน แล้วในส่วน ของ โปรแกรมจะลองทำดูนะครับคุณ win ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-03-25 16:37:06 By : angelrings0
 

   

ค้นหาข้อมูล


   
 

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