ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingใครเขียนโปรแกรม VB.net ช่วยสอนหน่อยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ใครเขียนโปรแกรม VB.net ช่วยสอนหน่อยครับ  (อ่าน 7377 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« เมื่อ: 05 มีนาคม 2010, 10:02:02 »

โค๊ด:
    Private Sub CallData(Optional ByVal strQuery As String = "013043400")
        Dim strConn As String = ""
        Dim strSQL As String
        strConn = "Provider=Microsoft.Jet.OLEDB 4.0;Data Source=|DataDirectory|\BillPayment.mdb"

        If ConnObj.State = ConnectionState.Open Then ConnObj.Close()
        ConnObj.ConnectionString = strConn
        ConnObj.Open()

        Try
            strSQL = "SELECT tbUser.UserNo, tbUser.UserNickName, tbUser.UserName, tbUser.UserAddrress, tbUser.BillType, tbBill.BillMonth, tbBill.BillComment " & _
                              "FROM tbUser INNER JOIN tbBill ON tbUser.UserNo = tbBill.UserNo " & _
                               "WHERE (((tbUser.UserNo)=" & strQuery

            DA = New OleDbDataAdapter(strSQL, ConnObj)
            DS.Clear()
'
'
'
'
'
'
'
'
'
'
'
            'MessageBox.Show(DR("UserName"), "ผิดพลาด")

        Catch ex As Exception
            MessageBox.Show(ex.ToString, "ผิดพลาด")
        End Try
        ConnObj.Close()
    End Sub

ผมลองอ่านหนังสือ VB 2008
แล้วลองเขียนดู
แต่ปรากฏว่าผมไม่เข้าใจในหนังสือเลย
เลยอยากจะหาคนที่เขียนเป็นช่วยดูให้หน่อยครับ
สมมุติว่าถ้าผมอยากจะเอาข้อมูล เช่น tbUser.UserName ใส่ใน Textbox1.text
โดยใส่ค่า UserNo เข้าไป
ผมจะต้องแก้ไขตรงไหนครับ
 Embarrassed
ขอบคุณครับ
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
lupin
Newbie
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 41



ดูรายละเอียด
« ตอบ #1 เมื่อ: 05 มีนาคม 2010, 11:01:29 »

เล่มเดียวกันเปล่า : Quick Start VB.NET 20008 ผู้แต่ง: ธนพล
บันทึกการเข้า
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #2 เมื่อ: 05 มีนาคม 2010, 11:14:25 »

คู่มือ Visual Basic 2005 ฉบับสมบูรณ์ครับ
ของ DevBook
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #3 เมื่อ: 05 มีนาคม 2010, 12:14:15 »

ขอขุดหน่อยครับ
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
pbeer
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 249



ดูรายละเอียด
« ตอบ #4 เมื่อ: 05 มีนาคม 2010, 13:12:04 »

ผมไม่รู้ว่าคุณ workshop มีพื้นฐานการ Programming มากน้อยแค่ไหนนะครับ
ผมขออธิบายเป็นบรรทัดๆ ไปละกันครับ ถ้าไม่เข้าใจค่อยมาขยายความละกันครับ

โค๊ด:
    Private Sub CallData(Optional ByVal strQuery As String = "013043400") 
อันนี้เป็นการสร้าง ฟังก์ชันขึ้นมาครับ โดยรับ พารามิเตอร์ ชื่อ strQuery (ซึ่งในทีนี้ก็ใช้เป็น UserNo ที่คุณต้องการก็ได้ครับ) โดยพารามิเตอร์ตัวนี้ไม่จำเป็นต้องส่งเข้ามาก็ได้ เนื่องจากมีการกำหนดเป็น "Optional" เอาไว้ครับ และมีค่า Default เป็น "013043400"

โค๊ด:
        Dim strConn As String = ""
        Dim strSQL As String
อันนี้เป็นแค่การประกาศตัวแปรเฉยๆครับ ไม่มีอะไรมาก

โค๊ด:
 strConn = "Provider=Microsoft.Jet.OLEDB 4.0;Data Source=|DataDirectory|\BillPayment.mdb" 
อันนี้เป็นการกำหนด ConnectionString สำหรับการติดต่อกับ ดาต้าเบสครับ ถ้าดูจากโค้ดข้างบนแล้ว จะเป็นการใช้ Microsoft Access เป็นฐานข้อมูลนะครับ ส่วนสำคัญที่ต้องสังเกตุในบรรทัดนี้ก็คือ "Data Source=|DataDirectory|\BillPayment.mdb" คุณต้องกำหนด Path หลัง "Data Source=" ไปยังไฟล์ให้ถูกต้องนะครับ

ถ้าติดปัญหาแนะนำไปดูได้ที่ http://www.connectionstrings.com

       
โค๊ด:
If ConnObj.State = ConnectionState.Open Then ConnObj.Close()
        ConnObj.ConnectionString = strConn
        ConnObj.Open()
ส่วนนี้เป็นการเริ่มต่อ ดาต้าเบส ด้วย connectionstring จากด้านบนครับ

โค๊ด:
Try
            strSQL = "SELECT tbUser.UserNo, tbUser.UserNickName, tbUser.UserName, tbUser.UserAddrress, tbUser.BillType, tbBill.BillMonth, tbBill.BillComment " & _
                              "FROM tbUser INNER JOIN tbBill ON tbUser.UserNo = tbBill.UserNo " & _
                               "WHERE (((tbUser.UserNo)=" & strQuery
ส่วนนี้เป็นภาษา sql สำหรับกำหนดว่าจะคิวรีอะไรออกมาบ้างครับ


เริ่มต้นอ่านข้อมูลจาก ดาต้าเบส
โค๊ด:
DA = New OleDbDataAdapter(strSQL, ConnObj)
            DS.Clear()
เท่าที่ดูเหมือนโค้ดยังไม่ครบนะครับ ด้านบนนี้เป็นแค่การ สร้าง DataAdapter เพื่อเตรียมอ่านข้อมูลจากดาต้าเบส

ยังต้องเติมโค้ดตามนี้ครับ (ลองเอาไปปรับๆแก้ๆ ดูนะครับ ผมเขียนเอาสดๆเลย ไม่ได้ใช้ tool develop)
โค๊ด:
DA.Fill(DS)

Dim t as new DataTable()
t = DS.Tables(0)

TextBox1.Text = t.Rows(0)("UserName").ToString()


บันทึกการเข้า

ขายบัญชี Adsense For Web อายุ 7 ปี รับ PIN, รับเงินมาแล้วกว่า $20,000 สนใจ PM มาจ้าา
capsoon
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 72
ออฟไลน์ ออฟไลน์

กระทู้: 516



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 05 มีนาคม 2010, 13:23:18 »

คุณ pbeer อธิบายได้ชัดเจนมากๆครับ ^^
บันทึกการเข้า

wanwan017 ติดต่อสอบถามเรียนสร้างเกมส์จากเกมส์ดังได้ที่ 084-360-5145 ครับ  wanwan017 wanwan017
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #6 เมื่อ: 05 มีนาคม 2010, 15:04:18 »

+1 คุณ pbeer ก่อนนะครับ

ผมยังไม่ได้อ่านรายละเอียดทั้งหมด (เดี๋ยวเย็นๆ เลิกงานจะลองทำครับ อาจจะรบกวนอีกครั้ง)

พื้นฐานผมน้อยครับ ผมโม VB ได้ อ่าน code ได้ เขียน UI ได้
แต่ผมไม่เคยเขียนให้ติดต่อ database สำเร็จเลย
ผมลองเขียนตามหนังสือให้ใส่ข้อมูลเข้า data binding ได้
แต่พอจะมาประยุกต์เป็นให้่เอามาใส่ textbox ผมกลับทำไม่ได้ Cry
จริงๆ ผมใส่ comment หลายๆบรรทัด เข้าไป เพื่อจะถามว่า ตรงนั้นควรจะใส่เป็นอะไร แต่ผมลืมเขียนในคำถาม Tongue


รบกวนใครทราบ พอจะอธิบาย บรรทัดพวกนี้อีกหน่อยไหมครับ ว่าทำไมต้องใช้ table(0) หรือใช้อะไรก็ได้ เช่น Table("Test"
แล้วถ้าผมเขียนติดต่อหลายๆ table ผมจะต้องใส่ (1) ต่อไปหรือไม่ครับ

DA.Fill(DS)

Dim t as new DataTable()
t = DS.Tables(0)

TextBox1.Text = t.Rows(0)("UserName").ToString()

ขอบคุณอีกครั้งครับ
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
capsoon
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 72
ออฟไลน์ ออฟไลน์

กระทู้: 516



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 05 มีนาคม 2010, 15:52:27 »

เหตุผลที่ต้องใช้ table(0) เพราะได้ทำการ query ข้อมูล ออกมาแค่ 1 table หน่ะครับ มันจะเริ่มนับ index ที่ 0 หน่ะครับ

ผมแนะนำให้ใช้ ชื่อ table แทน table(0) ดีกว่าครับ จะได้ไม่งงว่า 0 หน่ะคือ Table อะไร

เช่น table("customer")  สู้ๆครับ ^^
บันทึกการเข้า

wanwan017 ติดต่อสอบถามเรียนสร้างเกมส์จากเกมส์ดังได้ที่ 084-360-5145 ครับ  wanwan017 wanwan017
capsoon
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 72
ออฟไลน์ ออฟไลน์

กระทู้: 516



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 05 มีนาคม 2010, 16:00:52 »

ว่าแต่หนังสือ VB 2008 พูดถึง LINQ หรือยังครับ

ผมแนะนำให้ลองศึกษาพวก Linq ดูนะครับ ใช้ง่ายกว่า DataSet เยอะเลย

ตามไปดู Sample ที่นี้ได้ครับ http://msdn.microsoft.com/en-us/vbasic/bb688088.aspx
บันทึกการเข้า

wanwan017 ติดต่อสอบถามเรียนสร้างเกมส์จากเกมส์ดังได้ที่ 084-360-5145 ครับ  wanwan017 wanwan017
pbeer
ก๊วนเสียว
*

พลังน้ำใจ: 38
ออฟไลน์ ออฟไลน์

กระทู้: 249



ดูรายละเอียด
« ตอบ #9 เมื่อ: 05 มีนาคม 2010, 16:06:34 »

อ้างถึง
รบกวนใครทราบ พอจะอธิบาย บรรทัดพวกนี้อีกหน่อยไหมครับ ว่าทำไมต้องใช้ table(0) หรือใช้อะไรก็ได้ เช่น Table("Test")
ใช้ได้ทั้งสองแบบครับ ถ้าเป็น table(0) เป็นการเรียกเอา Table แรก ที่อยู่ใน DataSet ออกมาครับ ส่วนอีกแบบนึงที่ส่งพารามิเตอร์เป็น String นั้น เป็นการเรียกเอา Table ที่มีชื่อตามที่ส่งไปออกมาใช้ครับ

ข้อดีข้อเสียต่างกันนิดหน่อยครับ
  • แบบส่งเป็นตัวเลขก็คือเน้นสะดวกครับ กรณีที่ทำงานกับ Table เดียวก็ไม่ต้องไปตั้งชื่อไร
  • แบบส่งเป็นชื่อก็เน้นความแม่นยำครับ กรณีที่ทำงานกับ Table หลายๆ Table ใน DataSet ตัวเดียวกัน จะได้เรียกไม่ผิดตัวครับ แต่ถ้าจะใช้วิธีนี้ตอนใส่ข้อมูลให้ DataSet ต้องใส่พารามิเตอร์เพิ่มดังนี้ครับ

    เปลี่ยนจาก
    อ้างถึง
    DA.Fill(DS)
    เป็น
    อ้างถึง
    DA.Fill(DS, "TableName")

    • แล้วเวลาเรียกก็ใช้ชื่อตามที่ใส่เข้าไป แทน เลข 0 ครับ


    อ้างถึง
    แล้วถ้าผมเขียนติดต่อหลายๆ table ผมจะต้องใส่ (1) ต่อไปหรือไม่ครับ
    ใช่ครับ แต่ถ้าจะติดต่อหลายๆ Table แนะนำให้ใช้วิธี ตั้งชื่อเอาดีกว่าครับ

    อ้างถึง
    DA.Fill(DS)
    บรรทัดนี้คือการสั่ง DataAdapter ยัดข้อมูลเข้า DataSet ครับ

    อ้างถึง
    Dim t as new DataTable()
    t = DS.Tables(0)
    TextBox1.Text = t.Rows(0)("UserName").ToString()
    ส่วนนี้คือการสร้าง DataTable มารับข้อมูลไปใส่ให้ TextBox
    ตรงนี้จริงๆแล้วสามารถเขียนได้อีกแบบนึงคือ ไม่ต้องสร้าง DataTable ก็ได้ครับ เรียกใช้จาก DataSet เอาเลยก็ได้

    เปลี่ยน 3 บรรทัดด้านบน เป็นด้านล่างนี้ครับ
    อ้างถึง
    TextBox1.Text = DS.Tables(0).Rows(0)("UserName").ToString()
บันทึกการเข้า

ขายบัญชี Adsense For Web อายุ 7 ปี รับ PIN, รับเงินมาแล้วกว่า $20,000 สนใจ PM มาจ้าา
planetteam
ก๊วนเสียว
*

พลังน้ำใจ: 12
ออฟไลน์ ออฟไลน์

กระทู้: 324



ดูรายละเอียด
« ตอบ #10 เมื่อ: 06 มีนาคม 2010, 13:10:41 »

การเขียนโปรแกรม .net ที่ดี ควรจะ bind datasource ลง textbox ครับ
บันทึกการเข้า

ขาย สคริป 25satang 20000.- bath สคริป ประมูล
 ขายระบบรับตัดบัตรทรูมันนี่

รับเขียนโปรแกรมตัดบัตรทรู,ไอเทมมอล,เวปส่ง sms ,เวปคลิปวีดีโอ,บอดพิคโพส,ออโต้โพส และอื่นๆ
ภาษาที่เขียน php,vb.net,asp.net,c#.net,delphi
http://www.goto69.com ผลงานของทีมทางด้านโปรแกรมเมอ

เบอร์โทร 0853941973  อีเมล์ [email protected]
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #11 เมื่อ: 08 มีนาคม 2010, 10:09:29 »

+ thank
คุณ capsoon
คุณ pbeer
คุณ planetteam
ครับ
ขอศึกษาิีิีอีกนิด มีปัญหาจะรบกวนอีกที
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
capsoon
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 72
ออฟไลน์ ออฟไลน์

กระทู้: 516



ดูรายละเอียด เว็บไซต์
« ตอบ #12 เมื่อ: 08 มีนาคม 2010, 10:23:11 »

ยินดีเลยครับ ^^
บันทึกการเข้า

wanwan017 ติดต่อสอบถามเรียนสร้างเกมส์จากเกมส์ดังได้ที่ 084-360-5145 ครับ  wanwan017 wanwan017
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #13 เมื่อ: 04 พฤศจิกายน 2010, 15:48:20 »

งงอีกแล้วครับ ขอขุดอีกที
ผมเขียน code ง่ายๆ นี้เพื่อทดลอง

ผมอยากจะใช้ PrintPreviewControl
ผมกดที่ Button1 ยังไงก็ไม่แสดงเลยครับ
แต่กด button2 มันทำงานได้
ใครพอจะทราบบ้างไหมครับ ว่าแก้ไขตรงไหน
ขอบคุณทุกท่านครับ

โค๊ด:
Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        PrintPreviewControl1.Document = PrintDocument1

    End Sub

    Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
        e.Graphics.DrawRectangle(Pens.Blue, 10, 10, 100, 100)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        PrintPreviewDialog1.Document = PrintDocument1
        PrintPreviewDialog1.Show()
    End Sub
End Class
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
Hikkie
ก๊วนเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 325



ดูรายละเอียด
« ตอบ #14 เมื่อ: 04 พฤศจิกายน 2010, 16:05:03 »

PrintPreviewControl1.Show()

ลองดูครับผมก็ยังไม่ได้ลองเขียนเทสดู แต่ botton ดูแล้วมันไม่ทำไรเลย
บันทึกการเข้า
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #15 เมื่อ: 04 พฤศจิกายน 2010, 16:08:54 »

PrintPreviewControl1.Show()

ลองดูครับผมก็ยังไม่ได้ลองเขียนเทสดู แต่ botton ดูแล้วมันไม่ทำไรเลย

ไม่ได้ผลครับ แต่ก็ขอบคุณมากๆ ครับ
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #16 เมื่อ: 04 พฤศจิกายน 2010, 18:57:05 »

ขอขุดอีกทีครับ
 wanwan017
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
Google Banned Team
Newbie
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 44



ดูรายละเอียด
« ตอบ #17 เมื่อ: 04 พฤศจิกายน 2010, 19:02:26 »


ดีครับ ศึกษา VB.NET , C#.NET และ C++.NET เพราะเป็นภาษาของ Microsoft และเราก็ใช้ระบบปฏิบัติการ Windows SQL ใน VB.NET ผู้พัฒนาทุกคนต้องเรียนรู้ครับ

 wanwan044
บันทึกการเข้า
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #18 เมื่อ: 04 พฤศจิกายน 2010, 20:30:56 »


ดีครับ ศึกษา VB.NET , C#.NET และ C++.NET เพราะเป็นภาษาของ Microsoft และเราก็ใช้ระบบปฏิบัติการ Windows SQL ใน VB.NET ผู้พัฒนาทุกคนต้องเรียนรู้ครับ

 wanwan044

ขอบคุณครับ
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
workshop
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 68
ออฟไลน์ ออฟไลน์

กระทู้: 1,131



ดูรายละเอียด
« ตอบ #19 เมื่อ: 05 พฤศจิกายน 2010, 17:28:22 »

ขอขุดหน่อยครับ มีใครพอจะช่วยได้บ้างไหม
บันทึกการเข้า

torrentlive.net/signup.php?refer=workshop Refer เวปบิท (ยังเปิดรับอยู่)
หน้า: [1]   ขึ้นบน
พิมพ์