找回密码
 加入
搜索
查看: 10019|回复: 30

[AU3基础] 为什么replace 运行不了。是()的问题吗?

    [复制链接]
发表于 2017-6-27 13:09:49 | 显示全部楼层 |阅读模式
本帖最后由 diandiand163 于 2017-6-27 13:13 编辑

$mdb_data_path="D:\用户目录\我的文档\Data.mdb"
$mdb_data_pwd=""
$T="*"
$tt="标题"
$tblname="表名"
$title = "update 表名 set 标题=REPLACE(标题,'aaa','111') where  id = 1"
$addfld = ObjCreate("ADODB.Connection")
                $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path& ";Jet Oledb:Database Password=" & $mdb_data_pwd)
                $addfld.execute ($title)
                $addfld.Close

$title = "update 表名 set 标题='aaa'   where  id = 1"    这样是可以执行的。
但是改成 $title = "update 表名 set 标题=REPLACE(标题,'aaa','111') where  id = 1"  运行没有任何效果!请问哪出了问题??
发表于 2017-6-27 14:12:40 | 显示全部楼层
回复 1# diandiand163

SQL 在 ACCESS 上 與 SQL 上不一定相同

請先在ACCESS 上測試   你的
update 表名 set 标题=REPLACE(标题,'aaa','111') where  id = 1

這個寫法是OK 的
 楼主| 发表于 2017-6-27 15:29:17 | 显示全部楼层
写法没有问题的啊。
 楼主| 发表于 2017-6-27 15:29:19 | 显示全部楼层
写法没有问题的啊。
 楼主| 发表于 2017-6-27 16:05:27 | 显示全部楼层
刚去ACCESS上测试了,update 表名 set 标题=REPLACE(标题,'aaa','111') where  id = 1  语句完全没有问题,可以执行。为什么在AU3不行呢?
发表于 2017-6-27 16:10:10 | 显示全部楼层
回复 5# diandiand163


    錯誤訊息是甚麼??
发表于 2017-6-27 16:11:13 | 显示全部楼层
回复 5# diandiand163


    錯誤訊息是甚麼??

請貼實際程式碼  也許是一個逗點 或者分號 或者 空白問題

你自己用手重新打過 肯定不會錯
 楼主| 发表于 2017-6-27 16:13:39 | 显示全部楼层
没有任何错误提示,就是没有更新改到啦。
 楼主| 发表于 2017-6-27 16:14:31 | 显示全部楼层
试过了不行。。。。手打的也不行。。。。是不是语句里包括了()的问题。需要转义吗?
发表于 2017-6-27 16:17:47 | 显示全部楼层
請上程式碼....
 楼主| 发表于 2017-6-27 16:24:20 | 显示全部楼层
#include <Access.au3>
#AutoIt3Wrapper_UseX64=n
;操作MDB

$mdb_data_path="D:\用户目录\我的文档\Data.mdb"
$mdb_data_pwd=""
$T="*"
$tt="标题"
$tblname="采集存储表"
$title = "UPDATE 采集存储表 SET 标题 = Replace(标题,'111','000') WHERE ID=1"

$addfld = ObjCreate("ADODB.Connection")
                $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path& ";Jet Oledb:Database Password=" & $mdb_data_pwd)
                $addfld.execute ($title)
                $addfld.Close
附件解压到对应目录,进行调试!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2017-6-27 16:24:48 | 显示全部楼层
谢谢帮我测试!
发表于 2017-6-27 16:33:54 | 显示全部楼层
回复 12# diandiand163


    請提供 ACCESS.AU3
发表于 2017-6-27 16:41:50 | 显示全部楼层
回复 11# diandiand163

$mdb_data_path="Data.mdb"
$mdb_data_pwd=""
$T="*"
$tt="标题"
$tblname="采集存储表"
$title = "UPDATE 采集存储表 SET 标题 = Replace(标题,'111','000') WHERE ID=1"


$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open ("Provider=Microsoft.ACE.OLEDB.12.0; Data Source="&$mdb_data_path)
$RS.ActiveConnection = $conn;好像是主連接,這個好像比較重要



$conn.Execute("UPDATE [采集存储表] SET [标题] = Replace([标题],'111','000') WHERE ID=1")

試看看 這段代碼  另外 欄位請盡量不要使用中文
 楼主| 发表于 2017-6-27 16:42:03 | 显示全部楼层
  这个应该是系统自带的吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-21 20:35 , Processed in 0.108354 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表