[VB.NET]请大家帮忙看看,多条件查询的问题

请大家帮忙看看,多条件查询的问题 代码功能主要是在指定时间与识别号的综合查询,并将数据显示在dataGrid上。 Private Sub btnStat_Click(...) Dim strFilter As String If txbIDCard.Text.Trim.Length <> 0 Then strFilter = "where 识别号 like '' " strFilter += txbIDCard.Text.Trim + "% '' " End If Dim d1 As Date = Me.DateTimePicker1.Value Dim d2 As Date = Me.DateTimePicker2.Value Dim connectionString As String = "Persist Security Info=False;Integrated Security=SSPI;Database=shipping;Server=localhost " Dim da As New SqlClient.SqlDataAdapter da.SelectCommand.CommandText = "SELECT 预定单号,入库时间,出库时间,识别号 FROM 预定单 WHERE 入库时间> = '' " & d1 & " '' AND 出库时间 <= '' " & d2 & " '' " + strFilter ''问题可能在这 Dim ds As New DataSet da.Fill(ds) dataGrid1.DataSource = ds.Tables(0) end sub 问题可能是strFilter与入出库时间的联合查询上,请大家帮我改改,谢谢了。 __________________________________________________________________________ 检查下da.SelectCommand.CommandText的输出信息 你会发现da.SelectCommand.CommandText 多了一个where~~~ 改: If txbIDCard.Text.Trim.Length <> 0 Then strFilter = "and 识别号 like '' " strFilter += txbIDCard.Text.Trim + "% '' " End If __________________________________________________________________________ 一看就知道两个条件连不起来..你的加号在里面没有用.用AND连接. __________________________________________________________________________ 楼上的hainannewcon,请问怎么解决? __________________________________________________________________________ 没有全部看完。 strFilter = "where 识别号 like '' " strFilter += txbIDCard.Text.Trim + "% '' " 将这里的where 去掉,在 += 后加个 and. 写的好乱。 __________________________________________________________________________ + strFilter ----〉and strFilter 看这样能连上不. __________________________________________________________________________ 先谢谢各位的指教 “在 += 后加个 and.”会出现语法错误 + strFilter ----〉and strFilter 问题还在 __________________________________________________________________________ Private Sub btnStat_Click(...) Dim strFilter As String If txbIDCard.Text.Trim.Length <> 0 Then strFilter = " 识别号 like '' " strFilter += txbIDCard.Text.Trim + "% '' " End If Dim d1 As Date = Me.DateTimePicker1.Value Dim d2 As Date = Me.DateTimePicker2.Value Dim connectionString As String = "Persist Security Info=False;Integrated Security=SSPI;Database=shipping;Server=localhost " Dim da As New SqlClient.SqlDataAdapter da.SelectCommand.CommandText = "SELECT 预定单号,识别号 FROM 预定单 WHERE 入库时间> = '' " & d1 & " '' AND 出库时间 <= '' " & d2 & " '' " and strFilter '' Dim ds As New DataSet da.Fill(ds) dataGrid1.DataSource = ds.Tables(0) end sub ============= 这样可能可以,我没有调试过.你可以调试下,注意看看SELECT前面的引号有没有对应结束的引号. __________________________________________________________________________ Dim da As New SqlClient.SqlDataAdapter( "SELECT 预定单号,识别号 FROM 预定单 WHERE 入库时间> = '' " & d1 & " '' AND 离开时间 <= '' " & d2 & " '' " & strFilter,connectionString),试试 __________________________________________________________________________ and 要用 & " " & 这样才行的。以字符串加进去。 __________________________________________________________________________

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...