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

■■AU3数据库问题!

[复制链接]
发表于 2009-3-7 09:11:55 | 显示全部楼层 |阅读模式
问题解剖:   主要看几行代码就可以了。。 不需要全部看完。。 太累人。。

完整代码如下:
===============================================================================
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiToolbar.au3>
#include <StaticConstants.au3>
#include <ToolbarConstants.au3>
#include <TreeViewConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <ListViewConstants.au3>
#include <GuiIPAddress.au3>
#include <GuiStatusBar.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
#include <GUIConstantsEx.au3>
#include <GUIListBox.au3>
Local $datadir = "test.mdb"


$T="*"
$list="list"
$totoal="0"
Global $MARk_1     = 0
$quanli="0"

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;初始化数据库
if not FileExists($datadir) Then
$newMdb = ObjCreate("ADOX.Catalog")

$newMdb.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $datadir );

$newmdb.ActiveConnection.Close;建数据库
$addtbl = ObjCreate("ADODB.Connection")
$addTbl.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $datadir ))
$addTbl.Execute("CREATE TABLE " & $list)
$addtbl.Close
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & $datadir ))
$addfld.Execute("ALTER TABLE " & $list & " ADD id identity(1, 1) primary key, 测试 nvarchar, 路径 nvarchar")
$addfld.Close
MsgBox(64,"提示","数据库初始化完毕!",1)
Else
        EndIf
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
$Form1_1 = GUICreate("guilist-test", 500, 375);;;;;;;;;;;;;;;;;进入主题

;;;测试
$Label1 = GUICtrlCreateLabel("测试一", 24, 55, 30, 17)
$name = GUICtrlCreateInput("", 56, 51, 73, 20);

;;默认值
$txtfile=@ScriptDir&"\1.jpg";;定义默认值
$txt =  GUICtrlCreateInput($txtfile, 288, 43, 200, 60)
$fileadd = GUICtrlCreateButton("→选择文件←", 405, 150, 70, 20, 0)

$Button1 = GUICtrlCreateButton("写入", 260, 150, 100, 20, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
        Case $GUI_EVENT_CLOSE

                                        ExitLoop

        case $fileadd
                         $TPatha = FileOpenDialog("请选择文件路径:", @ScriptDir& "\NEWS","(*.txt;*.jpg;*.gif)",1+4)
                         if $TPatha = "" Then
                         Else
$txtfile=$TPatha       
GUICtrlSetData($txt,$txtfile)
EndIf

        case $Button1
                $n1=GUICtrlRead($name);测试
                $n2=GUICtrlRead($txt);路径
$OK=$n1&$n2
MsgBox(64,"OK值为:",$OK)

$addfld = ObjCreate("ADODB.Connection")  ;数据库添加函数开始
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $datadir )
;;;   ↑↑↑↑↑↑case $fileadd 这个地方如果选择文件为.txt及图片文件则全部报错

      $addfld.Execute("insert into list (测试,路径) values('"&$n1&"','"&$n2&"')")
          $addfld.close
          MsgBox(4096, "提示:"," 成功写入条目至数据库!")
                                        ExitLoop
EndSwitch
WEnd
===============================================================================


========================================================
经过几天的测试发现。。 在路径选择上 如果你选择程序目录下的图片 和 桌面的图片 TXT文件则可以入库(只有这2个路径的图片可以入库) 其他位置的所有图片 TXT 文件均无法入库。。。  郁闷死。。。。 不知道是什么原因

========================================================

最终发现。。。 似乎是 AU3函数之间有冲突。。。 导致不能入库。。


case $fileadd 这个地方如果选择文件为图片格式。。。。 则
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $datadir )  这一句就报错。。。。 相信1万个人中
还没人发现这个问题吧。。。 特别放上来请 老大来帮我看看。。。。。 谢谢。。

                                                      在线等待。。。。。。期待有人可以解决

感谢thesnow囧 叁恨居士 二位老大。。。  为人厚道 而且谦虚。。。。 太强悍了。。。。 问题终以解决!!!~~

                                 太谢谢俩位老大啦。。

[ 本帖最后由 zhenglei 于 2009-3-9 20:06 编辑 ]
发表于 2009-3-7 09:49:43 | 显示全部楼层
如果只是后缀名的话,没发现报错呀
发表于 2009-3-7 10:28:45 | 显示全部楼层
...我试试看先把....直接写出成品好了- -

[ 本帖最后由 rolaka 于 2009-3-7 10:36 编辑 ]
发表于 2009-3-7 15:50:39 | 显示全部楼层
不能写入图片是ACCESS的问题,与AU3无关。或者说 是引掣的问题
在VB中也无法直接写入

[ 本帖最后由 stdmis 于 2009-3-7 15:54 编辑 ]
发表于 2009-3-7 21:07:04 | 显示全部楼层
MDB不能写入图片?谁说的?

这问题是语法的问题。确实与AU3无关。MDB是可以存取图片的。
发表于 2009-5-18 09:35:03 | 显示全部楼层
强!只能用这个来形容了!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-10 16:20 , Processed in 0.079997 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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