找回密码
 加入
搜索
查看: 8882|回复: 13

[系统综合] 关于FileOpenDialog的问题【已解决】

  [复制链接]
发表于 2014-9-11 20:23:27 | 显示全部楼层 |阅读模式
本帖最后由 austere 于 2014-9-13 13:48 编辑

运行程序后如图,选择取消,测试程序一切正常,如果随便选择一个文件打开后,则程序测试无响应。。请教一下是什么原因造成的,求修正~~~



代码如下:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $zhucaidan
If Not FileExists(".\123.mdb") Then
        data()
EndIf
FileOpenDialog("请选择您要打开的文件", "", "任意文件 (*.*)")
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 429, 193, 218, 137)
$Input1 = GUICtrlCreateInput("", 72, 80, 201, 21)
$Input2 = GUICtrlCreateInput("Input2", 72, 120, 201, 21)
$Button1 = GUICtrlCreateButton("读取内容", 304, 80, 75, 25)
$Button2 = GUICtrlCreateButton("写入内容", 304, 120, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        MsgBox(0,0,$zhucaidan)
                        du()
                        GUICtrlSetData($Input1, $zhucaidan)
                Case $Button2
                        $xieru = GUICtrlRead($Input2)
                        $addfld = ObjCreate("ADODB.Connection")
                        $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=123.mdb")
                        $addfld.execute("update  ignorant set  zhucaidan='" & $xieru & "' WHERE id = 1")
                        $addfld.close
                        MsgBox(4096, " 提示: ", @CRLF & "     写入成功!!!     ")
        EndSwitch
WEnd

Func du()
        $addfld = ObjCreate("ADODB.Connection")
        $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=123.mdb")
        $RS = ObjCreate("ADODB.Recordset")
        $RS.ActiveConnection = $addfld
        $RS.Open("Select * From ignorant where id = 1")
        $zhucaidan = $RS.Fields(1).value
        $RS.close
        $addfld.Close
EndFunc   ;==>du

Func data()
        If Not FileExists("123.mdb") Then
                $newMdb = ObjCreate("ADOX.Catalog")
                $newMdb.Create("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=123.mdb")
                $newMdb.ActiveConnection.Close;建数据库
                $addtbl = ObjCreate("ADODB.Connection")
                $addtbl.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=123.mdb")
                $addtbl.Execute("CREATE TABLE ignorant")
                $addtbl.Close;建表

                $addfld = ObjCreate("ADODB.Connection")
                $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=123.mdb")
                $addfld.Execute("ALTER TABLE ignorant ADD id identity(1, 1) primary key ,zhucaidan text ")
                $addfld.Execute("insert into ignorant (zhucaidan) values('123')")
                $addfld.Close;建列表名  
        ;        MsgBox(64, " 提示:", @CRLF & "建立数据库成功", 5)
        Else
                MsgBox(64, " 提示:", @CRLF & "你已经建立了一个数据库了....", 5)
        EndIf
EndFunc   ;==>data

本帖子中包含更多资源

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

×
发表于 2014-9-12 04:18:37 | 显示全部楼层
我测试没有什么异常啊
 楼主| 发表于 2014-9-12 07:10:40 | 显示全部楼层
回复 2# h20040606


    你是xp?   选择打开文件啦嘛?
 楼主| 发表于 2014-9-12 08:19:25 | 显示全部楼层
刚刚用XP测试了一下,XP下没有问题~  有WIN 7的朋友吗? 帮测试一下,我WIN 7下不行~~
发表于 2014-9-12 09:54:38 | 显示全部楼层
第10句FileOpenDialog返回值是选中文件的完整路径。楼主,你都没把返回值赋给某个变量,程序之后都没有、也不能使用到这个选择的值了。所以不管程序有无问题,有什么问题都跟FileOpenDialog没任何关系。
 楼主| 发表于 2014-9-12 10:06:46 | 显示全部楼层
回复 5# shqf


    声明变量和不声明没啥关系吧?  我不赋值也不影响程序啊......    关键是我点了取消,就使用正常,随便选择了文件就测试失败了~~   XP下我测试了,正常.....    win7 下不行~
发表于 2014-9-12 11:50:21 | 显示全部楼层
$addfld.OPEN("provider=Microsoft.Jet.OLEDB.4.0;Data Source=123.mdb")
 楼主| 发表于 2014-9-12 12:01:23 | 显示全部楼层
回复 7# wggaijcm


    不明白您的意思,你的意思是这个open和文件浏览打开那个冲突了吗?
发表于 2014-9-12 12:54:18 | 显示全部楼层
刚测试了下代码没问题的 WIN7 正常使用 你编译的什么版本的?

本帖子中包含更多资源

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

×
发表于 2014-9-12 14:49:11 | 显示全部楼层
本帖最后由 shqf 于 2014-9-12 15:33 编辑

回复 6# austere

你问题是“关于FileOpenDialog的问题”,可程序中第10句有或没有,程序结果完全一模一样,总之程序与第10句没有任何关系。如果程序有问题的话是其他语句。
 楼主| 发表于 2014-9-12 16:41:27 | 显示全部楼层
回复 10# shqf


    不一样的,我的加上了第10句之后,随便选择一个文件运行,然后在win 7 下测试读取和写入数据,均没有响应..... 但是在XP下测试又正常......
win 7下 只有注释掉第10句,或者运行打开文件的时候,选择取消,测试正常... 如果随便选择一个文件,则测试失败~~
 楼主| 发表于 2014-9-12 16:42:07 | 显示全部楼层
回复 9# wggaijcm


    你用的什么版本,我用的3.3.11.3
 楼主| 发表于 2014-9-12 16:55:00 | 显示全部楼层
回复 9# wggaijcm


    感谢测试,我找朋友测试了下,应该是我电脑的问题~~  结贴~
 楼主| 发表于 2014-9-12 16:55:33 | 显示全部楼层
回复 10# shqf


    找人测试了下,代码没有问题,应该是我电脑的问题~~..  结贴了~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-6 09:26 , Processed in 0.140935 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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