Foxtable(狐表)用户栏目专家坐堂 → 在SQL窗口中测试SQL语句与命令窗口有所区别?


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

主题:在SQL窗口中测试SQL语句与命令窗口有所区别?

帅哥哟,离线,有人找我吗?
瞩望星空
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
在SQL窗口中测试SQL语句与命令窗口有所区别?  发帖心情 Post By:2013/5/18 20:01:00 [只看该作者]

问题来源:


修改外部表中某个字段时,顺便记录修改的日期
所以要把当天的日期写入这个“修改日期”

我在SQL窗口中写:

Update {ryxx} set [修改日期]= #" & Date.Now & "#  Where[RYBH] ='103000002'

一直提示:

日期的语法错误 在查询表达式 '#" & Date.Now & "#' 中。

 

后来在别人的提醒下,写上完整语句,在命令窗口中测试,却是能执行的


Dim cmd As New SQLCommand
cmd.C
cmd.CommandText = "Update {ryxx} set [修改日期]= #" & Date.Now & "#  Where[RYBH] ='103000002'"
If cmd.ExecuteNonQuery = 1 Then '返回1表示更改成功
    MessageBox.Show("修改成功")
End If

 上述二条语句,其核心内容是一样的,但在SQL窗口中却通不过。

是不是SQL窗口中不能还变量运行?

[此贴子已经被作者于2013-5-18 20:06:21编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/5/18 21:38:00 [只看该作者]

sql当然不能执行执行下面的语句:

Update {ryxx} set [修改日期]= #" & Date.Now & "#  Where[RYBH] ='103000002'"

 

因为这是代码,不是sql语句,代码中能执行,是因为代码执行后,合成了真正的sql语句。

 

这样你就清楚了:

 

Dim cmd As New SQLCommand
cmd.Connection Name = "数据原名称"
cmd.CommandText = "Update {ryxx} set [修改日期]= #" & Date.Now & "#  Where[RYBH] ='103000002'"

MessageBo.Show("合成的SQL语句:" & cmd.CommandText)
If cmd.ExecuteNonQuery = 1 Then '返回1表示更改成功
    MessageBox.Show("修改成功")
End If


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


加好友 发短信
等级:二尾狐 帖子:531 积分:4727 威望:0 精华:0 注册:2013/4/20 20:08:00
  发帖心情 Post By:2013/5/18 21:50:00 [只看该作者]

恩,初学,好多问题似懂非懂。


 回到顶部