以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  select 语句中带有窗口控件的引用  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73727)

--  作者:阿福
--  发布时间:2015/8/25 14:49:00
--  select 语句中带有窗口控件的引用
Dim r1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker1")
Dim r2 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker2")

If r1.Value IsNot Nothing AndAlso r2.Value IsNot Nothing Then
Dim rq1 As Date = r1.Value
Dim rq2 As Date = r2.Value
For i As Integer = 0 To DataTables("疫苗程序").DataRows.Count - 1
DataTables("疫苗消耗").AddNew()
DataTables("疫苗消耗").DataRows(i)("猪只_类型") = DataTables("疫苗程序").DataRows(i)("猪只类型")
DataTables("疫苗消耗").DataRows(i)("疫苗_名称") = DataTables("疫苗程序").DataRows(i)("疫苗_名称")

If DataTables("疫苗程序").DataRows(i).IsNull("母猪_怀孕") = False Then
Dim a As Integer = DataTables("疫苗程序").DataRows(i)("母猪_怀孕")
Dim s As String = DataTables("疫苗程序").DataRows(i)("sys_user")
Dim mzhy As Integer
Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Select count(*) F rom {母猪分娩断奶信息} As a inner join (Select 编号, max(配种日期) As 配种日期  f rom {母猪分娩断奶信息}  group by 编号  ) As b on a.编号 = b.编号 And a.配种日期 = b.配种日期 Where [sys_user]= s  and  [分娩_日期] is null  and a.配种日期 BETWEEN DateAdd(d, -a, rp1) AND DateAdd(d, -a, rq2)"
mzhy  = cmd.ExecuteScalar()
DataTables("疫苗消耗").DataRows(i)("猪只_数量") = mzhy
End If

Next
End If

我这个代码设置在“buttom”的click时间上,点击后就出现以下错误提示:可能是黄色语句哪里出错了,请老师帮我改一下
列名 \'rq2\' 无效。
列名 \'a\' 无效。
列名 \'rp1\' 无效。
列名 \'a\' 无效。
列名 \'s\' 无效。

--  作者:大红袍
--  发布时间:2015/8/25 14:52:00
--  
Where [sys_user]= \'" & s & "\'  and  [分娩_日期] is null  and a.配种日期 BETWEEN DateAdd(d, " & -a & ", " & rp1 & ") AND DateAdd(d, " & -a & ", " & rq2 & ")"
--  作者:阿福
--  发布时间:2015/8/25 15:03:00
--  
谢谢大红袍老师
--  作者:阿福
--  发布时间:2015/8/25 15:37:00
--  
老师还是有问题
我令
dim rq1 as date = #8/5/2015# 
dim  qr2 as date = #8/10/2015#
Where [sys_user]= \'" & s & "\'  and  [分娩_日期] is null  and a.配种日期 BETWEEN DateAdd(d, " & -a & ", " & rq1 & ") AND DateAdd(d, " & -a & ", " & rq2 & ")"
结果搜索结果为0,

Where [sys_user]= \'" & s & "\'  and  [分娩_日期] is null  and a.配种日期 BETWEEN DateAdd(d, " & -a & ", \'8/5/2015\' ) AND DateAdd(d, " & -a & ", \'8/5/2015\')"
结果搜索结果为正确值

--  作者:大红袍
--  发布时间:2015/8/25 15:39:00
--  

加上单引号

 

Where [sys_user]= \'" & s & "\'  and  [分娩_日期] is null  and a.配种日期 BETWEEN DateAdd(d, " & -a & ", \'" & rq1 & "\') AND DateAdd(d, " & -a & ", \'" & rq2 & "\')"

 


--  作者:阿福
--  发布时间:2015/8/25 15:45:00
--  
谢谢大红袍老师,终于搞定了了!