Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:[求助]UPDATE

1楼
狐哥 发表于:2009/5/4 9:49:00
各位老师,帮我看看如下代码哪错了:

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
图片点击可在新窗口打开查看
2楼
狐狸爸爸 发表于:2009/5/4 9:55:00
不是什么都用单引号的,日期用#,数字啥也不用

[此贴子已经被作者于2009-5-4 9:58:25编辑过]
3楼
狐哥 发表于:2009/5/4 10:24:00
TKS,我正试试,呵呵
4楼
狐哥 发表于:2009/5/4 10:34:00
cmd.CommandText = "UPDATE {费用管理} SET 已收付金额 = dr("已收付金额") ,收付编号 = dr("收付编号") ,销帐人 = dr("销帐人") ,余额 = dr("余额") ,销余额 = dr("销余额"),余额编号 = dr("余额编号") WHERE 费用关联 = dr("费用关联") and 费用名称 = dr("费用名称")"

狐爸,这样改也不对呀!麻烦指点一下.
5楼
狐哥 发表于:2009/5/4 10:43:00
cmd.CommandText = "UPDATE {费用管理} SET 已收付金额 = " & dr("已收付金额") & ",收付编号 = " & dr("收付编号") & ",销帐人 = " & dr("销帐人") & ",余额 = " & dr("余额") & ",销余额 = " & dr("销余额") & ",余额编号 = " & dr("余额编号") & " WHERE 费用关联 = " & dr("费用关联") & " and 费用名称 = " & dr("费用名称") & ""
cmd.ExecuteNonQuery()

去掉单引号还是不行
6楼
狐狸爸爸 发表于:2009/5/4 10:48:00

呵呵,如果玩不转SQL,就用FoxTable的简单方法。

Dim drs As List(Of DataRow)
drs = DataTables("销帐明细").Select("[收付编号] > ''")
For Each dr As dataRow In drs
    dr.Load()

Next

 

DataRow的Load方法具备保存和刷新的双重功能。

7楼
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()

去掉单引号还是不行

你把字符型也去掉单引号了,当然不行。
贺老师前面已经讲得很明白了,字符型用单引号,数字型不用。

8楼
狐哥 发表于:2009/5/4 10:57:00
还是放个文件上来再求教吧,因是填充的问题,且 费用管理 表是在后台,所以才用到SQL的,如不在后台我直接用FILL就好了.
9楼
狐哥 发表于:2009/5/4 11:00:00
以下是引用cpayinyuan在2009-5-4 10:50:00的发言:

你把字符型也去掉单引号了,当然不行。
贺老师前面已经讲得很明白了,字符型用单引号,数字型不用。

非常感谢,原来还有这么一说. 字符型要用单引号,数字型不用,日期用#,呵呵,明白了.

10楼
菜鸟foxtable 发表于:2009/5/4 11:02: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 & " #

以上自己试验下,不保证正确...

共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02539 s, 2 queries.