Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
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表达式书写错误造成的,但是我试了很多种写法仍未成功,请高手指点一下:
Dim J As Double = CDbl(e.Form.controls("textbox4").text )
....
="insert into {Card_Set} ([新增时间],[原始金额],[状态]) values( T & ", " & J & ", " & "" & Z & "")"
ACC和SQL代码唯一的区别是不是变量为日期型的表达式。
Dim J As Double = CDbl(e.Form.controls("textbox4").text )
cmd.commandtext="insert into {Card_Set} ([新增时间],[原始金额],[状态]) values(#"& T &"#, '"& J &"','"& Z &"')"
时间类型对了,但是Double类型还是没调对
mr725你的代码是乱得,能写清楚一下吗?
Dim J As Double=e.Form.controls("textbox4").text
改成:下面这样试试呢
Dim J As Double=e.Form.controls("textbox4").Value
我测试过了,就是这个问题,我现在基本上很少用text了,只有文本才用,如果其它的类型我一律用Value,因为他表示值,而text表示字符
除了杨版主说的:
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
问题解决了,谢谢各位!
我的代码还犯了一个错误,所以一直通不过
如下:
我的一个判断语句写错了 if j="" ……
我把它改成e.Form.controls("textbox4").text=“” 就通过了
狐爸说的:
不管是代码还是表达式,数据类型是一切的基础。
真是金玉良言啊!
问题解决了,谢谢各位!
我的代码还犯了一个错误,所以一直通不过
如下:
Dim J As Double=e.Form.controls("textbox4").Value '原始金额 |
我的一个判断语句写错了 if j="" ……
我把它改成e.Form.controls("textbox4").text=“” 就通过了
狐爸说的:
不管是代码还是表达式,数据类型是一切的基础。
真是金玉良言啊!
你上面的代码中没看到这句"if j="" ……",我发现你还有个错误,上面定义时是大写的 J ,下面的判断中是小写的 j, 如果两外不符,我想代码也是通不过的,呵呵,所以说,,如果希望尽快的解决问题,一是贴全代码,二是上传相关的文件