找回密码
 加入
搜索
查看: 3260|回复: 5

上网本BUG,与AU3 mysql udf 冲突的错误有办法解决吗?

[复制链接]
发表于 2009-12-11 01:07:11 | 显示全部楼层 |阅读模式
[code]
#include <array.au3>
#include <mysql.au3>

_MySQL_InitLibrary()
If @error Then Exit MsgBox(0, '', "")
$MysqlConn = _MySQL_Init()
$connected = _MySQL_Real_Connect($MysqlConn,"服务器IP","账户","密码","数据库名称")
If $connected = 0 Then
        $errno = _MySQL_errno($MysqlConn)
        MsgBox(0,"Error:",$errno & @LF & _MySQL_error($MysqlConn))
        If $errno = $CR_UNKNOWN_HOST Then MsgBox(0,"Error:","$CR_UNKNOWN_HOST" & @LF & $CR_UNKNOWN_HOST)
Endif

$query = "select * from notice "  ;SQL查询语句
_MySQL_Real_Query($MysqlConn, $query) ;进行SQL查询
$res = _MySQL_Store_Result($MysqlConn) ;获取查询结果的集合
$rows = _MySQL_Num_Rows($res) ;将查询结果的行数赋值
$fields = _MySQL_Num_Fields($res) 将查询结果的列数赋值
MsgBox(0, "查询行列数量", $rows & "-----" & $fields) ;显示查询结果的行列数量

;大哥们呀,我就毁在行赋值上面,正常应该显示是1行,但是在我的上网本上面显示是4294967296行
;真他妈的不知道是谁错了.系统重新安装过2个不同的,AU3版本也换过2个.台式机上运行没有问题,上网本就计算出错.
;郁闷呀,再也不敢用上网本学习了AU3了.


_MySQL_Free_Result($res)

; Verbindung beenden
_MySQL_Close($MysqlConn)
; MYSQL beenden
_MySQL_EndLibrary()
发表于 2009-12-16 22:42:00 | 显示全部楼层
我使用也有这个问题,而且笔记本和台式机都这样,我用的都是深度xp 不知道啥原因
发表于 2009-12-16 23:13:08 | 显示全部楼层
mysql.au3 里面的函数 修改成

Func _MySQL_Num_Rows($result)
        Local $rows = DllCall("libmysql.dll", "uint64", "mysql_num_rows", "ptr", $result)
        If @error Then Return SetError(1, 0, 0)
        ;MsgBox(0,0,$rows[0])
        Return $rows[0]
        ;Return __MySQL_ReOrderULONGLONG($rows[0])
EndFunc   ;==>_MySQL_Num_Rows

测试就ok了, 看来是__MySQL_ReOrderULONGLONG() 调用的问题
发表于 2009-12-28 01:54:58 | 显示全部楼层
我改完就好用了
 楼主| 发表于 2010-1-5 15:35:37 | 显示全部楼层
可是,我换过2个不同的系统,另一台台式机就OK.
并且,如果你在本机去掉那个乘数了,会不会在其他电脑上面就出错了.??
发表于 2010-3-17 12:31:13 | 显示全部楼层
看得头大
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-23 17:11 , Processed in 0.080645 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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