注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

BCB-DG's Blog

...

 
 
 

日志

 
 

Lazarus+KOL for wince 下使用Tsqlite3dataset控件操作SQLite3要注意的事项  

2009-05-13 14:51:06|  分类: Delphi |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
作者:廖伯志

Lazarus+KOL for wince 下使用Tsqlite3dataset控件操作SQLite3要注意的事项:

1)使用KOL-CE时,不能使用sqlite3dataset可视控件,只能用代码创建:

  1. var   sqlite3dataset1 :Tsqlite3dataset;  
  2. begin  
  3.   sqlite3dataset1:=tsqlite3dataset.Create(nil);  
  4. ..  
  5. End;  

2)必须将数据库的文件名及路径用UTF8Encode转为UTF8否则含中文时会出错,例如:
   Sqlite3Dataset1.FileName:= UTF8Encode((ExtractFilePath(ParamStr(0))+'myTest.db'));
3)读取含中文内容时,要用PWideChar(UTF8Decode(要取的字段)),例如:
   editbox2.text:=PWideChar(UTF8Decode(Sqlite3Dataset1.FieldByName('uname').AsString));

  1. sqlite3dataset1:=tsqlite3dataset.Create(nil);  
  2. Sqlite3Dataset1.FileName:= UTF8Encode((ExtractFilePath(ParamStr(0))+'myTest.db'));//必须将文件名及路径转为UTF8否则含中文时会出错  
  3. Sqlite3Dataset1.TableName:='Demo';  
  4. Sqlite3Dataset1.SQL:='select * from demo';  
  5. Sqlite3Dataset1.Active:=true;  
  6. editbox1.text:=Sqlite3Dataset1.FieldByName('uid').AsString;  
  7. editbox2.text:=PWideChar(UTF8Decode(Sqlite3Dataset1.FieldByName('uname').AsString));  
  8. Sqlite3Dataset1.First;  
  9. i:=0;  
  10. while not Sqlite3Dataset1.EOF do 
  11. begin  
  12.   ListView1.LVItemAdd('');  
  13.   ListView1.LVItems[i,0] :=(Sqlite3Dataset1.FieldByName('uid').AsString);  
  14.   ListView1.LVItems[i,1] :=(PWideChar(UTF8Decode(Sqlite3Dataset1.FieldByName('uname').AsString)));  
  15.   inc(i);  
  16.   Sqlite3Dataset1.Next;  
  17. end;  
  18. Sqlite3Dataset1.First;  

  评论这张
 
阅读(1381)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017