none
請問SQL問題 RRS feed

  • 問題

  •  

    我的LISTBOX裡,資料分別為1,2,3,4,5,想找資料庫ID欄位中有符合的,請問我的SQL該如何下呢?
    2008年3月12日 下午 03:37

解答

  •  Dim lt As New ListItem
            Dim str As String = ""
            For Each lt In Me.ListBox1.Items
                str += "'" & lt.Text & "',"
            Next
            str = Left(str, Len(str) - 1)
            Dim sql As String = "select * from kent4 where p_id in(" & str & ")"

    2008年3月13日 上午 05:39

所有回覆

  •  

    Dim objconn As SqlConnection = New SqlConnection("Data Source=192.168.100.1;Initial Catalog=kent;Persist Security Info=True;User ID=sa;Password=111111")
            objconn.Open()
            Dim sql As String = "select c1 from kent4 where p_id in ('1','2','3','4','5')"
            Dim objcmd As SqlCommand = New SqlCommand(sql, objconn)
            Dim dr As SqlDataReader = objcmd.ExecuteReader
            Do While dr.Read
                Me.ListBox1.Items.Add(dr.Item("c1"))
            Loop
            objconn.Close()
            objconn.Dispose()
            sql = Nothing
            objcmd.Dispose()
            dr.Close()
            GC.Collect()
    2008年3月13日 上午 01:12
  • 你可以參考 SQL Server 2005 線上叢書的 IN (Transact-SQL) 說明

    http://msdn2.microsoft.com/zh-tw/library/ms177682.aspx


    ----
    From: Will
    Blog: http://blog.miniasp.com/
    記載著 Will 在網路世界的學習心得與技術分享

    2008年3月13日 上午 02:41
  •  

    sql不能寫它1,2,3,4,5,因為會是先load到listbox後才下select listbox裡的項目.........
    2008年3月13日 上午 04:41
  •  Dim lt As New ListItem
            Dim str As String = ""
            For Each lt In Me.ListBox1.Items
                str += "'" & lt.Text & "',"
            Next
            str = Left(str, Len(str) - 1)
            Dim sql As String = "select * from kent4 where p_id in(" & str & ")"

    2008年3月13日 上午 05:39