免费列表
搜索
网络广告 风险自担 网络广告 风险自担

[其它手游引擎] 91M2引擎如何操作数据库 77M2引擎数据库修改难吗?

  [复制链接]
趣游论坛 发表于 2019-5-12 18:50:38 | 显示全部楼层 |阅读模式
7091103
20190512183934.png

如何操作数据库
unit Q7;

interface
  uses Classes, SysUtils, DB{使用TDataSet对象必须引用此单元};

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);

implementation

{
拼接SQL注意,以MSSQL为例,假设SQL语句为: SELECT * FROM Table WHERE Name='xxx'
则在Pascal中字符表示为: S := 'SELECT * FROM Table WHERE Name=''xxx''';  
                       S := 'SELECT * FROM Table WHERE Name=''' + Player.Name + '''';
                       两个单引号来表示SQL中的一个单引号
}

procedure Main(Npc: TNormNpc; Player: TPlayObject; Args: TArgs);
var
  ADataSet: TDataSet;
  AList: TStrings;
begin
  //普通执行语句不需要返回
  Gamelib.DBEngine.ExecSQL('HumDB', 'UPDATE Players SET nGold=0 WHERE nGold < 0');     
  Gamelib.DBEngine.ExecSQL('HumDB', 'UPDATE Players SET nGold=10000 WHERE sChrName=''' + Player.Name+ ''''); //这里需要注意引号的使用
  //查询数据并将结果放到数据集,然后从数据集读取数据
  ADataSet := Gamelib.DBEngine.Query('HumDB', 'SELECT * FROM Players');
  if ADataSet <> nil then //必须做此判断,因为当数据连接找不到的时候返回为nil值
  begin
    AList := TStringList.Create;
    try      
      ADataSet.Open; //打开数据集  
      if not ADataSet.IsEmpty then //如果数据集不为空的情况下
      begin
        while not ADataSet.Eof do //如果没到数据集的末尾
        begin
          //S := ADataSet.FieldByName('sChrName').AsString; //直接将字段赋值到变量S中         
          AList.Add(ADataSet.FieldByName('sChrName').AsString);  //将字段sChrName的值取出来放到AList中
          ADataSet.Next; //数据集向后滚动,如果循环读取数据,此处必须,否则会挂循环
        end;   
      end;
      Npc.MessageBox(Player, AList.Text);
    finally
      ADataSet.Free;  //数据集需要自己手工释放
      AList.Free; //自己创建的TStrings类对象需要释放
    end;
  end;  
  //直接将一个查询结果中的第一个字段的值填入到一个TStrings
  AList := Gamelib.DBEngine.ValueList('HumDB', 'SELECT sChrName FROM Players');  //ValueList函数一定会返回一个TStrings实例,并且需要自己释放
  Npc.MessageBox(Player, AList.Text);
  AList.Free;
end;

end.

注意:操作SQLite数据库的时候需要注意对应的数据库文件是否被其他应用打开,如果被其他应用打开则只是只读状态,增删改等操作是无效的。比如正在被使用中的示范版本的角色数据库和账号数据库


回复

使用道具 举报

快乐无关 发表于 2019-5-12 18:50:42 | 显示全部楼层 沙发
每一个支持趣游论坛新贴,消灭0回复,
回复 支持 反对

使用道具 举报

我行我素 发表于 2019-5-12 21:48:00 | 显示全部楼层 板凳
我的啦嘿嘿
回复 支持 反对

使用道具 举报

没有你的陪伴 发表于 2019-5-13 01:05:12 | 显示全部楼层 地板
路过
回复 支持 反对

使用道具 举报

陆雪琪 发表于 2019-5-13 13:13:08 | 显示全部楼层 5#
秀起来~
回复 支持 反对

使用道具 举报

一节硬黄瓜 发表于 2019-5-13 14:13:29 | 显示全部楼层 6#
顶顶,楼下跟上哈~~
回复 支持 反对

使用道具 举报

零三邓何芯桃379 发表于 2019-5-13 14:40:08 | 显示全部楼层 7#
帮你顶下帖子
http://www.iis7.com/b/yqlj/
回复 支持 反对

使用道具 举报

唐古拉山 发表于 2019-5-13 16:09:17 | 显示全部楼层 8#
我的啦嘿嘿
回复 支持 反对

使用道具 举报

新天界游仙 发表于 2019-5-13 16:41:22 | 显示全部楼层 9#
确实不错,顶先
回复 支持 反对

使用道具 举报

951 发表于 2019-5-13 17:32:38 | 显示全部楼层 10#
这个教程不错!!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|关于我们|会员加入|网站介绍|( 湘ICP备2021013222号-1 )|网站地图

GMT+8, 2024-4-28 02:30 , Processed in 0.166897 second(s), 38 queries . QuYouBbk Inc.传奇版本库GM部落交流基地