Foxtable(狐表)用户栏目专家坐堂 → SQL语句


  共有14004人关注过本帖树形打印复制链接

主题:SQL语句

帅哥哟,离线,有人找我吗?
狐狸爸爸
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 12:22:00 [只看该作者]

你只在AfterLoad设置你相关代码,留意代码加粗的一行:

 

e.form.Controls("DateTimePicker2").Value = Today.Date()

Dim T As String =e.form.Controls("DateTimePicker2").Value

Dim cmd2 As New SQLCommand

Dim dt2 As DataTable

Dim cmb2 As WinForm.CheckedComboBox

cmd2.C

cmd2.CommandText = "SELECT DISTINCT 收件人 From {快递管理} Where [邮寄日期] =  #" & T & "#"

dt2 = cmd2.ExecuteReader()

cmb2 = e.Form.Controls("CheckedComboBox3")

cmb2.ComboList= dt2.GetComboListString("收件人")

 

如此设置,始终根据的都是今天的日期来查找的,不管你设置的默认值是什么。

 

如果你把代码改为:

 

e.form.Controls("DateTimePicker2").Value = Today.Date().Adddays(-1)
Dim T As String =e.form.Controls("DateTimePicker2").Value
Dim cmd2 As New SQLCommand
Dim dt2 As DataTable
Dim cmb2 As WinForm.CheckedComboBox
cmd2.C
cmd2.CommandText = "SELECT DISTINCT 收件人 From {快递管理} Where [邮寄日期] =  #" & T & "#"
dt2 = cmd2.ExecuteReader()
cmb2 = e.Form.Controls("CheckedComboBox3")
cmb2.ComboList= dt2.GetComboListString("收件人")

 

那么朱建就出来了。

 

所以我说你应该用MessageBox检查一下SQL语句,你会发现当你选择昨天的时候,合成的SQL语句中,使用的还是今天的日期。

[此贴子已经被作者于2011-5-19 12:26:00编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  12楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/5/19 13:01:00 [只看该作者]

我试试.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  13楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/5/19 13:02:00 [只看该作者]

我就怀疑是这句代码默认的问题.

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  14楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/5/19 13:23:00 [只看该作者]

还是有问题,显示不出来,不知为什么?
我的意思是无论选择那天,那么那天收件人的名字会全部从后台调出来.请老大在我的例子上给我做一下发给我

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 13:51:00 [只看该作者]

呵呵,你只在AfterLoad事件设置代码调用当天的名字,却并没有另外设置代码,用以选择不同的日期后,调用所选日期的名字。

 

设置DateTimePicker2的Leave事件为:

 

Dim T As String =e.form.Controls("DateTimePicker2").Value
Dim cmd2 As New SQLCommand
Dim dt2 As DataTable
Dim cmb2 As WinForm.CheckedComboBox
cmd2.Connection Name = "服装系统"
cmd2.CommandText = "SELECT DISTINCT 收件人 From {快递管理} Where [邮寄日期] =  #" & T & "#"
dt2 = cmd2.ExecuteReader()
cmb2 = e.Form.Controls("CheckedComboBox3")
cmb2.ComboList= dt2.GetComboListString("收件人")

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目13.rar


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  16楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/5/19 14:18:00 [只看该作者]

可以了,谢谢.为什么要在那儿设置代码?没有想明白.

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 14:20:00 [只看该作者]

1、AterLoad只在打开窗口的时候执行,之后你选择不同日期的时候,并不会执行

2、Leave事件在离开此控件的时候执行,这样你选择不同日期后,离开日期选择框,就会执行这段代码,从后台取所选日期的人名。


 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  18楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57596 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/5/19 15:55:00 [只看该作者]

哦,明白.窗口事件只执行一次.

 回到顶部
总数 18 上一页 1 2