各位老师,帮我看看如下代码哪错了:
Dim drs As List(Of DataRow)
drs = DataTables("销帐明细").Select("[收付编号] > ''")
For Each dr As dataRow In drs
Dim cmd As New SQLCommand
cmd.CommandText = "UPDATE {费用管理} SET 已收付金额 = '" & dr("已收付金额") & "',收付编号 = '" & dr("收付编号") & "',销帐人 = '" & dr("销帐人") & "',余额 = '" & dr("余额") & "',销余额 = '" & dr("销余额") & "',余额编号 = '" & dr("余额编号") & "' WHERE 费用关联 = '" & dr("费用关联") & "' and 费用名称 = '" & dr("费用名称") & "'"
cmd.ExecuteNonQuery()
Next
DataTables("销帐明细").DataRows.Clear()
此主题相关图片如下:片段.jpg
不是什么都用单引号的,日期用#,数字啥也不用
[此贴子已经被作者于2009-5-4 9:58:25编辑过]
cmd.CommandText = "UPDATE {费用管理} SET 已收付金额 = dr("已收付金额") ,收付编号 = dr("收付编号") ,销帐人 = dr("销帐人") ,余额 = dr("余额") ,销余额 = dr("销余额"),余额编号 = dr("余额编号") WHERE 费用关联 = dr("费用关联") and 费用名称 = dr("费用名称")"
狐爸,这样改也不对呀!麻烦指点一下.
cmd.CommandText = "UPDATE {费用管理} SET 已收付金额 = " & dr("已收付金额") & ",收付编号 = " & dr("收付编号") & ",销帐人 = " & dr("销帐人") & ",余额 = " & dr("余额") & ",销余额 = " & dr("销余额") & ",余额编号 = " & dr("余额编号") & " WHERE 费用关联 = " & dr("费用关联") & " and 费用名称 = " & dr("费用名称") & ""
cmd.ExecuteNonQuery()
去掉单引号还是不行
呵呵,如果玩不转SQL,就用FoxTable的简单方法。
Dim drs As List(Of DataRow)
drs = DataTables("销帐明细").Select("[收付编号] > ''")
For Each dr As dataRow In drs
dr.Load()
Next
DataRow的Load方法具备保存和刷新的双重功能。
以下是引用狐哥在2009-5-4 10:43:00的发言:
cmd.CommandText = "UPDATE {费用管理} SET 已收付金额 = " & dr("已收付金额") & ",收付编号 = " & dr("收付编号") & ",销帐人 = " & dr("销帐人") & ",余额 = " & dr("余额") & ",销余额 = " & dr("销余额") & ",余额编号 = " & dr("余额编号") & " WHERE 费用关联 = " & dr("费用关联") & " and 费用名称 = " & dr("费用名称") & ""
cmd.ExecuteNonQuery()
去掉单引号还是不行
你把字符型也去掉单引号了,当然不行。
贺老师前面已经讲得很明白了,字符型用单引号,数字型不用。
还是放个文件上来再求教吧,因是填充的问题,且 费用管理 表是在后台,所以才用到SQL的,如不在后台我直接用FILL就好了.
以下是引用cpayinyuan在2009-5-4 10:50:00的发言:
你把字符型也去掉单引号了,当然不行。
贺老师前面已经讲得很明白了,字符型用单引号,数字型不用。
非常感谢,原来还有这么一说. 字符型要用单引号,数字型不用,日期用#,呵呵,明白了.
以下是引用狐哥在2009-5-4 10:43:00的发言:
cmd.CommandText = "UPDATE {费用管理} SET 已收付金额 = " & dr("已收付金额") & ",收付编号 = " & dr("收付编号") & ",销帐人 = " & dr("销帐人") & ",余额 = " & dr("余额") & ",销余额 = " & dr("销余额") & ",余额编号 = " & dr("余额编号") & " WHERE 费用关联 = " & dr("费用关联") & " and 费用名称 = " & dr("费用名称") & ""
cmd.ExecuteNonQuery()
去掉单引号还是不行
如果是字符型用 ' " & XXX & " '
如果是数值型用 XXX
如果是日期型用 # " & XXX & " #
以上自己试验下,不保证正确...