找回密码
 加入
搜索
楼主: diandiand163

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

    [复制链接]
发表于 2017-6-27 16:43:04 | 显示全部楼层
回复 15# diandiand163

用我的代碼  都不需要引用其他的
 楼主| 发表于 2017-6-27 16:44:58 | 显示全部楼层
$conn.Execute("UPDATE [采集存储表] SET [标题] = Replace([标题],'111','000') WHERE ID=1")

没有任何变化!不行。
发表于 2017-6-27 16:50:09 | 显示全部楼层
回复 17# diandiand163
#cs ____________________________________
        例子:       示例 2
        描述:       搜索数据库文件中的表,并更新表中的数据记录
        语法:       Update 表名 set 列名 = 新值 where 列名 = 某值
        Update 表名 set 列名 = 新值,列名 = 新值... where 列名 = 某值
        参数:       $adSource  - 打开数据库文件的完整路径以及数据库文件名
        $adTable - 搜索的表名称
        $adCol - 搜索的字段名
        $adQuery - 搜索的字符串
        $adcCol - 需要更新的字段名
        $adData - 更新后字符串,新的字符串将会储存在$adcCol
#ce _______________脚本开始_________________
#AutoIt3Wrapper_UseX64 = n
$adSource = @ScriptDir & "\DB1.mdb"
$adTable = "Table1"
$adCol = "name";列名字段名
$adQuery = "A";某值搜索的字符串
$adcCol = "pass";列名更新后字段名
$adData = "A02";新值更新后字符串

$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $adSource)
$addfld.execute("update " & $adTable & " set " & $adcCol & " = '" & $adData & "' where " & $adCol & " = '" & $adQuery & "'")
$addfld.close
MsgBox(0, "提示", "更新数据成功!")
发表于 2017-6-27 16:56:20 | 显示全部楼层
回复 18# chzj589

有詳細看資料嗎

本帖子中包含更多资源

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

×
发表于 2017-6-27 16:57:33 | 显示全部楼层
回复 17# diandiand163


有詳細看MDB內容嗎

本帖子中包含更多资源

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

×
 楼主| 发表于 2017-6-27 17:20:27 | 显示全部楼层
本帖最后由 diandiand163 于 2017-6-27 17:22 编辑

回复 14# kk_lee69


   原样复制你的代码,运行后没有任何变化。不行额!

本帖子中包含更多资源

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

×
 楼主| 发表于 2017-6-27 17:23:30 | 显示全部楼层
我有装 ACCESS ,当然有看的啦。不行。运行后根本没有任何变化。也不报错!
 楼主| 发表于 2017-6-27 17:28:18 | 显示全部楼层
这样吧,哥们。你加我QQ 393135050  远程帮我看下!!!到底是哪出了问题?
发表于 2017-6-27 18:13:07 | 显示全部楼层
回复 19# kk_lee69
我发时,LZ MDB还没出来


本帖子中包含更多资源

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

×
发表于 2017-6-27 20:05:03 | 显示全部楼层
回复 24# chzj589

我使用
Provider=Microsoft.ACE.OLEDB.12.0

這個正常

但是使用
Provider=Microsoft.Jet.OLEDB.4.0  就會跟樓主一樣 不知為何˙??

你呢??
发表于 2017-6-27 20:14:08 | 显示全部楼层
回复 25# kk_lee69

我的系统是XP,只能用$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
Provider=Microsoft.ACE.OLEDB.12.0,还没用过。
发表于 2017-6-27 20:16:41 | 显示全部楼层
本帖最后由 chzj589 于 2017-6-27 20:39 编辑

回复 25# kk_lee69

        $read1 = '000'
        $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("update " & $tblname & " set  标题='" & $read1 & "' WHERE id=1")
        $addfld.close

这样也可以


$conn = ObjCreate("ADODB.Connection")
$RS = ObjCreate("ADODB.Recordset")
$conn.Open ("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
$RS.ActiveConnection = $conn;好像是主連接,這個好像比較重要
$conn.Execute("update " & $tblname & " SET 标题 ='222' WHERE ID=1")
$conn.close

发表于 2017-6-27 20:48:49 | 显示全部楼层
回复 11# diandiand163


    http://bbs.csdn.net/topics/240082198
原來是設計Microsoft® Jet SQL 驅動程式的人,忘記放 Replace函數呀...bug殘念

換我給的程式吧....
发表于 2017-6-28 02:32:46 | 显示全部楼层
回复 1# diandiand163


    如果你下載並安裝

Microsoft Access數據庫引擎2010可再發行

那麼您可以在OleDbConnection對象的連接字符串中使用以下內容...

Provider=Microsoft.ACE.OLEDB.12.0

...並且該Replace()函數將可用於您的查詢。例如,以下代碼適用於我:

using (var conn = new OleDbConnection())
{
    conn.ConnectionString =
            @"Provider=Microsoft.ACE.OLEDB.12.0;" +
            @"Data Source=C:\__tmp\testData.accdb;";
    conn.Open();
    using (var cmd = new OleDbCommand())
    {
        cmd.Connection = conn;
        cmd.CommandText =
            "UPDATE Table1 SET ProductType = Replace(ProductType, ' ', '')";
        cmd.ExecuteNonQuery();
    }
    conn.Close();
}
請注意,您需要下載並安裝與.NET應用程序相同“位置”的Access數據庫引擎版本:32位應用程序需要32位版本的數據庫引擎,64位應用程序需要64位應用程序,位版本的數據庫引擎。
发表于 2017-6-28 02:38:57 | 显示全部楼层
回复 22# diandiand163


    測試過了  我家裡的本來也不行

使用Microsoft.ACE.OLEDB.12.0; 也是不行

後來安裝
https://www.microsoft.com/en-US/download/details.aspx?id=13255

微軟的 Microsoft Access數據庫引擎2010可再發行
這個版本後就可以了

但是如果你安裝的是 Microsoft Access數據庫引擎2007可再發行

一樣是無法使用的.....
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-27 03:02 , Processed in 0.071619 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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