feelsky 发表于 2012-7-29 17:10:55

请教sqlite数据库数据修改问题

本帖最后由 feelsky 于 2012-7-30 07:23 编辑



本人对数据库方面是一窍不通的,查了论坛的一些资料后还是没有办法实现,只是想修改homePage的值达到通过AU3修改浏览器主页的目的

图中的这个值一串数字通过浏览器打开是百度,算法转换怎么也搞不清楚,望高手给予解答

如何修改homePage的值,在论坛搜了一些其它代码套用,下面这个值$HPvalue是直接给的,修改了值但值类型貌似又不对了,怎样修改Blob类型的值?#NoTrayIcon
#include <SQLite.au3>
#include <SQLite.dll.au3>

Global $SQLite_Data_Path
$SQLite_Data_Path = @ScriptDir & "\config.db"
_SQLite_Startup() ;加载 SQLite.dll

$key = "homePage"
$HPvalue = "0D 00 00 00 28 00 00 00 68 00 74 00 74 00 72 00"

_SQLite_Open($SQLite_Data_Path)
_SQLite_Exec(-1, "UPDATE config SET value = '" & $HPvalue & "' WHERE key = '" & $key & "';")
_SQLite_Close()
_SQLite_Shutdown() ;卸载 SQLite.dll望高手能举个例子,实现字符转换,以及修改数据,谢谢

虽然知道这里Blob的值是二进制的,但看了二楼的代码,还是不知道图中的这个值是如何换算来的

l4ever 发表于 2012-7-29 23:17:20

本帖最后由 l4ever 于 2012-7-29 23:27 编辑

#Include <String.au3>
msgbox(32,"Binary",StringToBinary ("http://baidu.com",2))

msgbox(32,"是个括号",BinaryToString ("0x2800",2))
msgbox(32,"h",BinaryToString ("0x6800",2))
msgbox(32,"t",BinaryToString ("0x7400",2))
msgbox(32,"t",BinaryToString ("0x7400",2))
msgbox(32,"p",BinaryToString ("0x7000",2))

二进制, 自己转换下,
SQL语句各不同,mdb,mysql,mssql大同小异,参考 http://baike.baidu.com/view/3146511.htm

auto 发表于 2012-7-30 19:55:47

回复 1# feelsky


    修改数据的语句没有问题,至于二进制又是另外问题了

feelsky 发表于 2012-7-30 20:15:31

回复feelsky


    修改数据的语句没有问题,至于二进制又是另外问题了
auto 发表于 2012-7-30 19:55 http://www.autoitx.com/images/common/back.gif

上面的代码问题是数据是写进去了相同位置,但这样写进去好像就变成文本了。不是Blob类型了。

auto 发表于 2012-7-30 22:35:39

附上config.db看看, 如有密码之类一同附上

feelsky 发表于 2012-7-30 23:02:41

回复 5# auto

auto 发表于 2012-7-31 20:08:20

回复 6# feelsky


    #NoTrayIcon
#include <SQLite.au3>
#include <SQLite.dll.au3>

Global $SQLite_Data_Path
$SQLite_Data_Path = @ScriptDir & "\config.db"
_SQLite_Startup() ;加载 SQLite.dll

$key = "homePage"
$HPvalue =_SQLite_Encode(Binary("http://www.126.com"));;"0D 00 00 00 28 00 00 00 68 00 74 00 74 00 72 00"
ConsoleWrite($HPvalue)
_SQLite_Open($SQLite_Data_Path)
_SQLite_Exec(-1, 'UPDATE config SET value = ' & $HPvalue & ' WHERE key = "' & $key & '";')
_SQLite_Close()
_SQLite_Shutdown() ;卸载 SQLite.dll

feelsky 发表于 2012-7-31 22:03:44

本帖最后由 feelsky 于 2012-8-1 19:05 编辑

回复 7# auto

非常谢谢!学习了。。
页: [1]
查看完整版本: 请教sqlite数据库数据修改问题