北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 7894|回复: 15

谁用过cmudpro3.25 beta

[复制链接]
发表于 2010-10-7 15:54:56 | 显示全部楼层 |阅读模式
怎么连接mdb数据库,2.37可以,但是他不行呢?
这个版网上有破解补丁
数据库的连接有什么改进呢?
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-10-7 18:46:43 | 显示全部楼层
补丁在哪里
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-10-7 18:54:16 | 显示全部楼层
软件的改进要看官方的release notes
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-10-7 22:34:24 | 显示全部楼层
http://www.zuggsoft.com/files/cmudpro325_setup.exe

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-10-7 22:40:16 | 显示全部楼层
补丁也可以这里去下载

http://cracknews.com/get_182108.html
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-10-8 23:08:30 | 显示全部楼层
3.25里面的
#va MapRset2 %comcreate("ADODB.Recordset")
这样的语句 MapRset2就成了 COM object的类型变量,这种变量的使用不熟练的,有没有高手来说说!
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-10-8 23:25:16 | 显示全部楼层
看了看seagate的数据库操作函数,呼叫seagate把这个改写到3.25中应该怎么修改呢
下面这段比较有代表性的代码!

#va MapRset2 %comcreate("ADODB.Recordset")
#CALL @MapRset2.Open($query,@MapConnStr,2)
#va $eof @MapRset2.eof
#if ($eof="True"||$eof="") {
  #if $eof="True" {
    #call @MapRset2.close
    MapRset2=""
    } {
    #show %format("语句有问题:%s",$query)
    }
  #return ""
  }
#CALL @MapRset2.MoveFirst
#WHILE (not @MapRset2.eof) {
  #if $deathloop>1000 {
    #break
    }
  $room_desc.name=@MapRset2.fields(0).value
  $room_desc.id=@MapRset2.fields(1).value
  $room_desc.direct=@MapRset2.fields(2).value
  $room_desc.rel_id=@MapRset2.fields(3).value
  $room_desc.rel_name=@MapRset2.fields(4).value
  $room_desc.desc=@MapRset2.fields(5).value
  #va $batch_room_desc %additem($room_desc,$batch_room_desc)
  #CALL @MapRset2.MoveNext
  #add $deathloop 1
  }
#call @MapRset2.close
MapRset2=""
#return $batch_room_desc
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
发表于 2010-10-8 23:51:54 | 显示全部楼层
325有直接支持数据库的#sql语句,你配上sqlite数据库就行,据说sqlite数据库汉字支持有点麻烦,这个应该是小问题。不用像我自己写com连接字符串,要写com连接字符串抄我的写法就行,我的仅支持access数据库,对更好的数据库就不支持了。
据说#sql语句可以支持多种数据库格式,这个需要研究了,我也没有研究明白。com对象也就会access格式。
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-10-9 12:23:16 | 显示全部楼层
#SQLDB @MapConnStr
MapRset2=%sql(WorldMap,$query)
#if (@MapRset2.Eof()||@MapRset2.Eof()="") {
#if @MapRset2.Eof() {
    #SQLCLOSE WorldMap
   MapRset2=""
   } {
    #show %format("语句有问题:%s",$query)
  }
#return ""
}
#CALL @MapRset2.First
#WHILE (!MapRset2.Eof()) {
  #if $deathloop>1000 {
    #break
    }
  #show @MapRset2.Item(1)
  #show @MapRset2.Item(2)
  #show @MapRset2.Item(3)
  #show @MapRset2.Item(4)
  #show @MapRset2.Item(5)
  #show @MapRset2.Item(6)
  $room_desc.name=@MapRset2.Item(1)
  $room_desc.id=@MapRset2.Item(2)
  $room_desc.direct=@MapRset2.Item(3)
  
$room_desc.rel_id=@MapRset2.Item(4)
  
$room_desc.rel_name=@MapRset2.item(5)
  
$room_desc.desc=@MapRset2.item(6)
  #va $batch_room_desc %additem($room_desc,$batch_room_desc)
  #CALL @MapRset2.Next
  #add $deathloop 1
  }
#SQLCLOSE WorldMap
MapRset2=""
#return $batch_room_desc


改造测试了下,发现#show结果正常,说明数据库正常连接,但是下面的赋值语句取不到值,这是为什么

[ 本帖最后由 nonename 于 2010-10-9 12:31 PM 编辑 ]
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
 楼主| 发表于 2010-10-10 13:18:03 | 显示全部楼层
ok了,结个尾!!
#addkey $room_desc name @MapRset2.Item(1)
#addkey $room_desc id @MapRset2.Item(2)
#addkey $room_desc direct @MapRset2.Item(3)
#addkey $room_desc rel_id @MapRset2.Item(4)
#addkey $room_desc rel_name @MapRset2.item(5)
#addkey $room_desc desc @MapRset2.item(6)
  #CALL @MapRset2.Next
  #add $deathloop 1
  }
#SQLCLOSE WorldMap
MapRset2=""
#return  $room_desc
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-25 03:36 AM , Processed in 0.010215 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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