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


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

主题:SQL语句

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 10:16:00 [显示全部帖子]

如果是SQL server,日期应该是单引号,而不是#


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 10:37:00 [显示全部帖子]

output.show(cmd2.CommandText )

看看你合成的Select语句是什么,复制到SQL窗口执行,看看能否得到结果。

 


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 11:15:00 [显示全部帖子]

说明没有昨天的记录


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 11:26:00 [显示全部帖子]

你选择昨天的日期,用:

 

output.show(cmd2.CommandText )

 

看看你合成的Select语句是什么,复制到SQL窗口执行,即可看出原因的。

 

实在搞不定,就传上来吧。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望: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编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望: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


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/5/19 14:20:00 [显示全部帖子]

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

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


 回到顶部