找回密码
 加入
搜索
查看: 1558|回复: 6

跪求达人修改。

[复制链接]
发表于 2009-1-18 07:11:27 | 显示全部楼层 |阅读模式

自己写了一份关于数据库修改的程序。

但是总是在写入数据库的时候提示请求对象失败。

跪求达人将其完善。。。谢谢

文件请看附件



#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <GuiIPAddress.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
$mdb_data_path="aadggdddddada#@#$.asa"
$mdb_data_pwd=""
$T="*"
$tblname1="Gq_sfdata"


#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("私服信息登录器", 785, 430, 235, 130)
$Group1 = GUICtrlCreateGroup("私服信息登录", 8, 8, 761, 361)
$Label1 = GUICtrlCreateLabel("游戏分类:", 56, 40, 55, 17)
$Label2 = GUICtrlCreateLabel("服务器名:", 56, 64, 71, 17)
$Label3 = GUICtrlCreateLabel("服务器IP:", 56, 88, 61, 17)
$Label4 = GUICtrlCreateLabel("开区时间:", 56, 112, 55, 17)
$Label5 = GUICtrlCreateLabel("客服QQ:", 64, 136, 47, 17)
$Label6 = GUICtrlCreateLabel("地区线路:", 56, 160, 55, 17)
$Label7 = GUICtrlCreateLabel("版本简介:", 56, 184, 55, 17)
$Label8 = GUICtrlCreateLabel("网站地址:", 56, 208, 55, 17)
$Label9 = GUICtrlCreateLabel("登录器地址:", 44, 232, 67, 17)
$Label10 = GUICtrlCreateLabel("广告期限:", 56, 256, 55, 17)
$Label11 = GUICtrlCreateLabel("精品推荐:", 56, 280, 55, 17)
$Label12 = GUICtrlCreateLabel("固顶推荐:", 56, 304, 55, 17)
$Label13 = GUICtrlCreateLabel("通宵推荐:", 56, 328, 55, 17)
$Combo1 = GUICtrlCreateCombo("传奇私服", 128, 32, 97, 25)
$name = GUICtrlCreateInput("", 128, 60, 153, 21)
$ip =GUICtrlCreateInput("", 128, 88, 153, 20)
$sdate = GUICtrlCreateDate("2009/01/18 03:43:40", 128, 112, 113, 21)
$hour = GUICtrlCreateCombo("开区小时", 248, 112, 81, 25)
                GUICtrlSetData(-1, "凌晨0点|凌晨1点|凌晨2点|凌晨3点|凌晨4点|凌晨5点|凌晨6点|上午7点|上午8点|上午9点|上午10点|上午11点|中午12点|下午13点|下午14点|下午15点|下午16点|下午17点|晚上18点|晚上19点|晚上20点|晚上21点|晚上22点|晚上23点", "开区小时")
$minute = GUICtrlCreateCombo("", 336, 112, 81, 25)
                GUICtrlSetData(-1, "00分|30分", "00分")
$QQ = GUICtrlCreateInput("游戏中查询", 128, 136, 137, 21)
$add1 = GUICtrlCreateCombo("地区", 128, 160, 81, 25)
                GUICtrlSetData(-1, "千兆|百兆|东北|南方|北方|中国|北京|上海|重庆|天津|广东|河北|山西|内蒙古|辽宁|吉林|黑龙江|江苏|浙江|福建|江西|山东|河南|四川|贵州|云南|西藏|陕西|甘肃|青海|宁夏|新疆|香港|澳门|台湾|全国", "地区")
$add2 = GUICtrlCreateCombo("线路", 216, 160, 73, 25)
                GUICtrlSetData(-1,"电信|网通|双线","线路")
$xingzhi = GUICtrlCreateInput("", 128, 184, 369, 21)
$homepage = GUICtrlCreateInput("http://", 128, 208, 369, 21)
$download = GUICtrlCreateInput("http://", 128, 232, 369, 21)
$Combo6 = GUICtrlCreateCombo("请选择", 128, 256, 81, 25)
                GUICtrlSetData(-1,"推荐一天|推荐两天|推荐三天|推荐四天|推荐五天|推荐六天|推荐七天","请选择")
$Combo7 = GUICtrlCreateCombo("不推荐", 128, 280, 81, 25)
                GUICtrlSetData(-1,"精品推荐","不推荐")
$Combo8 = GUICtrlCreateCombo("不固顶", 128, 304, 81, 25)
                GUICtrlSetData(-1,"固顶推荐","不固顶")
$Combo9 = GUICtrlCreateCombo("不通宵", 128, 328, 81, 25)
                GUICtrlSetData(-1,"通宵推荐","不通宵")
$Label14 = GUICtrlCreateLabel("限8个汉字", 288, 64, 58, 17)
$Label15 = GUICtrlCreateLabel("填写号码即可", 280, 136, 76, 17)
$Label16 = GUICtrlCreateLabel("限12个汉字", 504, 184, 64, 17)
$Label17 = GUICtrlCreateLabel("此私服URL,开头一定要http://否则无法连接", 504, 208, 244, 17)
$Label18 = GUICtrlCreateLabel("此私服登陆器,开头一定要http://否则无法连接", 504, 232, 250, 17)
$Label19 = GUICtrlCreateLabel("广告期限选择一至七 一为一天 依次类推,按推荐日期计算", 216, 264, 350, 17)
$Label20 = GUICtrlCreateLabel("设置为精品推荐则会在首页最顶部显示精品字样", 216, 288, 256, 17)
$Label21 = GUICtrlCreateLabel("设置为固顶推荐则会在首页套黄处出现", 216, 312, 208, 17)
$Label22 = GUICtrlCreateLabel("设置为通宵推荐则会在首页套黄处底部出现通宵推荐", 216, 336, 280, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("提交私服信息", 280, 384, 145, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

$unknow = IniWrite(@ScriptDir&"\config.ini","软件设置","unknow","")
$gameid = IniRead(@ScriptDir&"\config.ini","游戏分类",$combo1,"")
$service= IniRead(@ScriptDir&"\config.ini",$unknow,"service","")
$addr = $add1+$add2
$addtime= @HOUR & @MIN & @SEC
$unlock = 1
$top = 1
$toptime = @HOUR & @MIN & @SEC
$hits = 0
$time = 3
if $Combo7 = "精品推荐" Then 
$hot = 1 
EndIf
If $Combo8 = "固顶推荐" Then
        $top = 1 
EndIf
If $combo9 = "通宵推荐" Then
$fine = 1 
EndIf
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
        sx()
EndSwitch
WEnd
Func sx()
         $addfld = ObjCreate("ADODB.Connection")
      
       $addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
      $x=0
       While 1
        $x+=1
       if $x >1 Then ExitLoop
      $addfld.Execute("insert into Gq_sfdata (name,ip,gameid,service,sdate,hour,minute,addr,xingzhi,qq,homepage,download,addtime,hits,unlock,top,toptime,hot,hottime,fine,finetime,time) values('"&$name&"','"&$ip&"','"&$gameid&"','"&$service&"','"&$sdate&"','"&$hour&"','"&$minute&"','"&$addr&"','"&$xingzhi&",'"&$QQ&"','"&$homepage&"','"&$download&"','"&$addtime&"','"&$hits&"','"&$unlock&"','"&$top&"','""','"&$hot&"','""','"&$fine&"','""','"&$time&"')")
     WEnd
      ; $conn.Execute("insert into Gq_sfdata (name,ip,gameid,service,sdate,hour,minute,addr,xingzhi,qq,homepage,download,addtime,hits,unlock,top,toptime,hot,hottime,fine,finetime,time) values('"&$name&"','"&$ip&"','"&$gameid&"','"&$service&"','"&$sdate&"','"&$hour&"','"&$minute&"','"&$addr&"','"&$xingzhi&",'"&$QQ&"','"&$homepage&"','"&$download&"','"&$addtime&"','"&$hits&"','"&$unlock&"','"&$top&"','""','"&$hot&"','""','"&$fine&"','""','"&$time&"')")
     ;  $RS.close
          $addfld.close
         MsgBox(4096, "提示:"," 成功写入数据库!")  
EndFunc


[ 本帖最后由 超级死人 于 2009-1-21 01:34 编辑 ]

本帖子中包含更多资源

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

×
 楼主| 发表于 2009-1-18 07:12:48 | 显示全部楼层
第一次接触AU3对数据库的操作。

一年多没用AU3了。请达人赐教。
 楼主| 发表于 2009-1-19 00:35:49 | 显示全部楼层

有下的人,有看的人,就是没有解答的人。。。。
无奈吖。
发表于 2009-1-19 13:18:37 | 显示全部楼层
$addfld.execute('Insert into Gq_sfdata (Name,addtime,hot) values("abc1",now(),123)')

要注意数据类型,文本型和数字型 日期型,在SQL语句中,表达方式是不同的

评分

参与人数 1金钱 +2 收起 理由
超级死人 + 2 感谢回答。请继续帮我解答下。

查看全部评分

 楼主| 发表于 2009-1-20 05:48:52 | 显示全部楼层
那么请问,以我上面的这个数据库我该怎么表达呢?
发表于 2009-1-20 21:23:40 | 显示全部楼层
你可以搜索下insert into
的使用方法。
$addtime= @HOUR & @MIN & @SEC 这个在sql中直接用now()就可以了,注意时间型不是文本型不需要加引号的。
$addr = $add1+$add2 这样的相加应该是数字型的,用String($addr)可以转换为文本型。

Number()可以将文本转为数字型。

日期的表达方式是#20090120 21:21:00#当然还有其它表达方法,当作文本直接插入的话,会失败的。

用Insert into 调试并不是很方便。你可以考虑下,用RecordSet来操作。

评分

参与人数 1金钱 +5 收起 理由
超级死人 + 5 十分感谢

查看全部评分

 楼主| 发表于 2009-1-21 01:35:00 | 显示全部楼层
十分感谢AKMM88朋友
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-19 00:23 , Processed in 0.085189 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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