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


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

主题:SQL语句问题

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


加好友 发短信
等级:婴狐 帖子:81 积分:636 威望:0 精华:0 注册:2011/4/16 10:01:00
SQL语句问题  发帖心情 Post By:2011/12/15 22:07:00 [只看该作者]

Dim J As Double=e.Form.controls("textbox4").text   '原始金额
Dim Z As String =e.Form.controls("combobox1").text    '状态

Dim T As Date=Date.now()   '保存当前日期

Dim cmd As new sqlcommand
cmd.c

cmd.commandtext="insert into {Card_Set} ([新增时间],[原始金额],[状态]) values('"& T &"', '"& J &"','"& Z &"')"
cmd.ExecuteReader()
运行提示如下错误,应改是SQL表达式书写错误造成的,但是我试了很多种写法仍未成功,请高手指点一下:

 


图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:81 积分:636 威望:0 精华:0 注册:2011/4/16 10:01:00
  发帖心情 Post By:2011/12/15 22:14:00 [只看该作者]

补充一下,我用的是Access数据库

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/12/16 0:08:00 [只看该作者]

Dim J As Double = CDbl(e.Form.controls("textbox4").text ) 

....

 

="insert into {Card_Set} ([新增时间],[原始金额],[状态]) values( T  &  ", " &  J  & ", " & "" & Z & "")"

[此贴子已经被作者于2011-12-16 0:11:21编辑过]

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


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2011/12/16 8:02:00 [只看该作者]

ACC和SQL代码唯一的区别是不是变量为日期型的表达式。


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


加好友 发短信
等级:婴狐 帖子:81 积分:636 威望:0 精华:0 注册:2011/4/16 10:01:00
  发帖心情 Post By:2011/12/16 21:04:00 [只看该作者]

Dim J As Double = CDbl(e.Form.controls("textbox4").text ) 

 

cmd.commandtext="insert into {Card_Set} ([新增时间],[原始金额],[状态]) values(#"& T &"#, '"& J &"','"& Z &"')"
时间类型对了,但是Double类型还是没调对

mr725你的代码是乱得,能写清楚一下吗?


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


加好友 发短信
等级:婴狐 帖子:81 积分:636 威望:0 精华:0 注册:2011/4/16 10:01:00
WinForm.Form内能不能添加另一个WinForm.Form  发帖心情 Post By:2011/12/16 22:30:00 [只看该作者]

狐爸,帮我解决一下嘛,我都两天没找到原因了,查了很多资料都没辙,郁闷啊

 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/12/17 1:25:00 [只看该作者]

Dim J As Double=e.Form.controls("textbox4").text

 

改成:下面这样试试呢

 

Dim J As Double=e.Form.controls("textbox4").Value

 

我测试过了,就是这个问题,我现在基本上很少用text了,只有文本才用,如果其它的类型我一律用Value,因为他表示值,而text表示字符

[此贴子已经被作者于2011-12-17 1:49:32编辑过]

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


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

除了杨版主说的:

 

Dim J As Double=e.Form.controls("textbox4").text '原始金额

 

应该改为:

 

Dim J As Double=e.Form.controls("textbox4").Value '原始金额

 

还要注意列类型,逻辑和不需要单引号,字符需要单引号,日期要用#括起来,如果是SQL Server,日期也用单引号。

假定新增时间是日期型,原是金额是数值,状态时字符,对于Access数据源:

 

cmd.commandtext="insert into {Card_Set} ([新增时间],[原始金额],[状态]) values(#" & T & "#, " & J & ", '" & Z & "')"

 

如果是SQL SQLServer:

 

cmd.commandtext="insert into {Card_Set} ([新增时间],[原始金额],[状态]) values('" & T & "', " & J & ", '" & Z & "')"

 

不管是代码还是表达式,数据类型是一切的基础。

 

建议看看:

http://www.foxtable.com/help/topics/1580.htm

http://www.foxtable.com/help/topics/1284.htm

 

 

[此贴子已经被作者于2011-12-17 9:39:09编辑过]

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


加好友 发短信
等级:婴狐 帖子:81 积分:636 威望:0 精华:0 注册:2011/4/16 10:01:00
  发帖心情 Post By:2011/12/17 15:18:00 [只看该作者]

问题解决了,谢谢各位!

我的代码还犯了一个错误,所以一直通不过

如下:

Dim J As Double=e.Form.controls("textbox4").Value '原始金额

我的一个判断语句写错了 if j="" ……

我把它改成e.Form.controls("textbox4").text=“” 就通过了

 

狐爸说的:

不管是代码还是表达式,数据类型是一切的基础。

 

真是金玉良言啊!


 回到顶部
美女呀,离线,留言给我吧!
yangming
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2011/12/17 16:21:00 [只看该作者]

以下是引用huntkey在2011-12-17 15:18:00的发言:

问题解决了,谢谢各位!

我的代码还犯了一个错误,所以一直通不过

如下:

Dim J As Double=e.Form.controls("textbox4").Value '原始金额

我的一个判断语句写错了 if j="" ……

我把它改成e.Form.controls("textbox4").text=“” 就通过了

 

狐爸说的:

不管是代码还是表达式,数据类型是一切的基础。

 

真是金玉良言啊!

你上面的代码中没看到这句"if j="" ……",我发现你还有个错误,上面定义时是大写的 J ,下面的判断中是小写的 j,  如果两外不符,我想代码也是通不过的,呵呵,所以说,,如果希望尽快的解决问题,一是贴全代码,二是上传相关的文件


 回到顶部
总数 11 1 2 下一页