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

HOME > .NET Framework > Forum > สอบถามเกี่ยวกับการสร้างฟอร์มและวิธีการใช้คำสั่ง SQL เพื่อให้ User เลือกข้อมูลที่ต้องการได้



 

สอบถามเกี่ยวกับการสร้างฟอร์มและวิธีการใช้คำสั่ง SQL เพื่อให้ User เลือกข้อมูลที่ต้องการได้

 



Topic : 096425



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



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



รบกวนสอบถามเกี่ยวกับการที่เราจะให้ User เป็นคนเขียนคำสั่ง Select ข้อมูลจากฐานข้อมูล เราต้องเขียนอย่างไรบ้างครับ รบกวนช่วยทีครับ
เพราะในกรณีที่เราเขียน ฝัง ไว้กับ Code แล้ว บางครั้ง User ไม่ต้องการข้อมูลบางอย่าง ทำให้ User ต้องเลือกข้อมูลทั้งหมดก่อนแล้วจึงมาตัด ออกทีหลังครับ

รอบกวนด้วยครับ
ขอบคุณครับ



Tag : .NET, Ms SQL Server 2005, VB.NET







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-06-11 19:19:54 By : s_oil_p View : 1116 Reply : 7
 

 

No. 1



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

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

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


Dim sSQL As String = Trim(Me.Textbox1.Text)
objCom = New SqlCommand(sSQL, dbCon)
objCom.ExecuteNonQuery()


ผมเข้าใจอะไรผิดหรือเปล่า






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-11 20:36:57 By : Downrung
 


 

No. 2



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



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

เข้าใจถูกแล้วครับคุณต้น

Code ด้านล่างนี้เป็น Code ที่สามารถให้ User เลือกข้อมูลที่ไม่ต้องการได้แต่ ได้แค่ MachineID ตัวเดียว แล้วถ้าหากเราต้องการให้ User เลือกข้อมูลที่ไม่ต้องการมากกว่า 1 ตัว ต้องทำอย่างไรครับ แต่ถ้าเกิดเราเพิ่ม Textbox เท่ากับจำนวนที่ User ไม่ต้องการก็จะสามารถทำได้แต่ในกรณีนี้เราไม่ทราบว่าข้อมูลที่ User ไม่ต้องการมีข้อมูลมากน้อยเท่าไร

รบกวนด้วยครับ ขอบคุณครับ

Code (VB.NET)
Sub InitialMachine()
        Dim cmd As New SqlCommand
        Dim da As New SqlDataAdapter
        Dim ds As New DataSet
        Try
            With cmd
                .Connection = mycon
                .CommandType = CommandType.Text
                .CommandText = "select MachineName from T_Machine where MachineID<>'" & TextBox1.Text & "' "
                ' .CommandText = " '" & TextBox1.Text & "' "


            End With

            da.SelectCommand = cmd
            da.Fill(ds, "Matco1_Machine") 'Keep data to Dataset
            cboMachineName.DataSource = ds.Tables("Matco1_Machine")
            cboMachineName.DisplayMember = "MachineName"
            cboMachineName.ValueMember = "MachineName"

        Catch exsql As SqlException
            MsgBox(exsql.Message, MsgBoxStyle.Exclamation)
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Exclamation)
        End Try

    End Sub

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-12 08:12:05 By : s_oil_p
 

 

No. 3



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



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

แนะนำแนวคิดนะครับเป็นการใช้ textbox รับค่า MachineID จาก Textbox และถ้าจะรับค่าที่ไม่ต้องการเพิ่ม ให้ใช้ Button กดปุ่ม และเขียนคำสั่งประมาณว่า AND MachineID <> textbox1.text ต่อท้าย Command text เข้าไปครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-12 08:41:38 By : 01000010
 


 

No. 4



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



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

งง ครับ คุณ 0100 0010 พอดีผมพึ่งหัดเขียนครับ
พอมี Code ตัวอย่าง อธิบายได้หรือเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-12 08:53:03 By : s_oil_p
 


 

No. 5



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

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

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


เอางี้มั้ยครับ ใช้ listview with checkbox มาช่วย
โดยเราก็ดึงเอาชื่อคอลัมน์มาใส่ใน listview ให้ user เลือก

** กรณีนี้มีปัญหา 2 ข้อ คือ
1. คิวรี่ได้ทีละตาราง หากมากกว่า 1 ตาราง ต้องมีการ join กัน สามารถทำได้แต่ซับซ้อนหน่อยนะครับ
2. user จะรู้ชื่อคอลัมน์หรือเปล่า

เปิดโปรแกรมมาเราดึงชื่อตารางมาใส่ combobox ไว้รอ
Capture1


หลังจากเลือกชื่อตารางใน combobox ให้ดึงชื่อคอลัมน์ของตารางนั้นๆมาใส่ใน listview
หลังจากนั้นเมื่อกดปุ่ม >> เราก็จัดการสร้างคิวรี่ดึงข้อมูลและแสดงผล
Capture2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-12 10:15:47 By : คนงานตัดอ้อย
 


 

No. 6



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



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

ขอบคุณครับ คุณคนงานตัดอ้อย

หลังจากนำมาไว้ใน listView แล้วเราก็ วนลูป หาค่าเพื่อไปใส่ใน .commantext ใช่หรือเปล่าครับ พอมีตัวอย่าง Code หรือเปล่าครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-12 10:43:09 By : s_oil_p
 


 

No. 7



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

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

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


ดึงชื่อตารางทั้งหมดมาใส่ใน combobox
Code (VB.NET)
Dim sql1 As String = "SELECT * FROM SYS.TABLES ORDER BY Name"
Dim dt As New DataTable
dt = gGetDataTable(sql1)
If dt IsNot Nothing Then
            If dt.Rows.Count > 0 Then
                For Each dr As DataRow In dt.Rows
                    Me.cboTableName.Items.Add(dr("Name"))
                Next
            End If
            dt.Dispose()
            dt = Nothing
End If


ดึงชื่อคอลัมน์ของตารางที่เลือกจาก combobox มาใส่ใน listview
Code (VB.NET)
Private Sub cboTableName_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboTableName.SelectedIndexChanged
        Me.lvwColumn.Items.Clear()

        Dim sql1 As String = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = " & gSQ(Me.cboTableName.Text)
        Dim dt As New DataTable
        dt = gGetDataTable(sql1)
        If dt IsNot Nothing Then
            If dt.Rows.Count > 0 Then
                Dim lvwItem As ListViewItem
                For Each dr As DataRow In dt.Rows
                    lvwItem = lvwColumn.Items.Add(dr("COLUMN_NAME"))
                Next
            End If
            dt.Dispose()
            dt = Nothing
        End If
    End Sub



จัดการคิวรี่และแสดงข้อมูล
Code (VB.NET)
Private Sub btnQuery_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnQuery.Click
        Dim tempCol As String = " "
        For i As Integer = 0 To Me.lvwColumn.Items.Count - 1
            If Me.lvwColumn.Items(i).Checked Then
                tempCol &= Me.lvwColumn.Items(i).SubItems(0).Text & ", "
            End If
        Next

        If (tempCol.Equals(" ")) Then
            Exit Sub
        End If

        Dim newStr As String = tempCol.Remove(tempCol.Length - 2, 2)
        newStr &= " "

        Dim sql1 As String = "SELECT " & newStr & " FROM " & Me.cboTableName.Text
        Dim dt As New DataTable
        dt = gGetDataTable(sql1)
        If dt IsNot Nothing Then
            Me.dgv1.DataSource = dt
            dt.Dispose()
            dt = Nothing
        End If
End Sub


ฟังก์ชั่นสำหรับคิวรี่ข้อมูล
Code (VB.NET)
Public Function gGetDataTable(ByVal pQryString As String, _
                                  Optional ByVal pConn As SqlClient.SqlConnection = Nothing, _
                                  Optional ByVal pIsSilenceMode As Boolean = False) As DataTable
        If pQryString Is Nothing OrElse pQryString.Length = 0 Then
            Return Nothing
        End If
        Dim dt As New DataTable
        Dim da As New SqlClient.SqlDataAdapter

        Dim conn As New SqlClient.SqlConnection("ตรงนี้ใส่ Connection String ของคุณลงไป")

        If pConn IsNot Nothing Then
            conn = pConn
        End If
        Try
            If conn.State <> ConnectionState.Open Then
                conn.Open()
            End If
        Catch ex As Exception
            Return Nothing
        End Try

        Try
            Dim qry As String = pQryString
            If pConn IsNot Nothing Then
                da = New SqlClient.SqlDataAdapter(qry, conn)
            Else
                da = New SqlClient.SqlDataAdapter(qry, conn)
            End If
            da.SelectCommand.CommandTimeout = 0
            da.Fill(dt)
        Catch ex As Exception
            If Not pIsSilenceMode Then
                DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message, ex.Source, MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
        Finally
            If da IsNot Nothing Then
                da.Dispose()
                GC.SuppressFinalize(da)
                da = Nothing
            End If
        End Try
        Return dt
End Function



ฟังก์ชั่นเสริมเล็กๆ
Code (VB.NET)
Private Function gSQ(ByVal pText As String) As String
        Return "'" & pText.Replace("'", "") & "'"
End Function







หลายๆครั้งในชีวิต กำลังใจก็สำคัญเหนือสิ่งอื่นใด


ประวัติการแก้ไข
2013-06-12 13:22:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-12 11:02:05 By : คนงานตัดอ้อย
 

   

ค้นหาข้อมูล


   
 

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