CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

送分!(继续加分....)

楼主Sammo(三毛)2001-08-01 14:54:48 在 C++ Builder / 基础类 提问

送分!先送50分!答下面这个问题答得好就全给你!不够再加!!  
   
  用ADO联接MS   ACCESS的数据库和使用InterBase的数据库时,在SQL语句里,转换各种数据类型时,比如日期TO字符、字符TO日期、字符TO整型、整型TO字符等等,在使用两种数据库时,分别使用什么样的转换函数?怎么样用?  
  注:DateToStr、StrToDate、StrToInt等等不能使用!  
   
  在MSACCESS里,我已经知道有一种方法可以把日期型数据转换成字符型数据,就是cstr(),但要是日期型字段的值是空(NULL)时就提示出错啦!有没有更好的转换函数? 问题点数:120、回复次数:34Top

1 楼lluunn007(书生)回复于 2001-08-01 15:00:24 得分 0

up~~Top

2 楼lluunn007(书生)回复于 2001-08-01 15:10:08 得分 0

用FormatString()  
  呵呵,我要100分。你加吧Top

3 楼lluunn007(书生)回复于 2001-08-01 15:10:51 得分 0

用FormatString()  
  Formats   the   TDateTime   object   using   the   format   given   by   format.  
   
  AnsiString   __fastcall   FormatString(const   AnsiString&   format);  
   
  呵呵,我要100分。你加吧Top

4 楼byj168(byj168)回复于 2001-08-01 15:12:03 得分 0

用FormatString(),太贪了,我只要50分。Top

5 楼Sammo(三毛)回复于 2001-08-01 16:50:08 得分 0

你们也太贪心了吧!好!!既然这么开心,就加到100分!只要答得好,再加!!  
  你们只是说用FormatString,也太笼统了吧!  
   
  我要知道的是在SQL里的使用方法,而且是在不同数据库里的使用方法,请举例子!  
  不要只是列个函数出来!!   ~O~Top

6 楼gqxs(我心㊣飞翔)回复于 2001-08-01 16:51:20 得分 0

gzTop

7 楼Sammo(三毛)回复于 2001-08-01 16:52:03 得分 0

To:gqxs(小龙)  
  你不要只是GZ呀!!!!帮帮忙呀!!!Top

8 楼Sammo(三毛)回复于 2001-08-01 16:55:03 得分 0

Shit!!!!!有分都没人要!!!!!Top

9 楼lluunn007(书生)回复于 2001-08-01 17:25:16 得分 0

我想要但是没人给  
   
  faint   @_@Top

10 楼Sammo(三毛)回复于 2001-08-02 00:48:36 得分 0

谁答得好!!  
  我把分全给他!!!!!!!!!!!!!!!!!!  
   
  To:lluunn007(玉笛书生)  
  你都没有答问题,怎么给分你呀!!难道在这里的真的只看重分数吗?Top

11 楼Sammo(三毛)回复于 2001-08-02 01:20:07 得分 0

现在怎么连分数都没人要呀!!!!!  
  难道还嫌少吗?100分还嫌少呀??那要加到多少呀?!  
  这里是学术论坛还是嫌分论坛呀?哎~~~~~~~~~~~~           ~!_!~Top

12 楼Sammo(三毛)回复于 2001-08-02 01:59:35 得分 0

哎!!!!再加分!!!!!!给我点温暖啊!!!随便再提个问题:  
   
  我要实现的这样的功能:  
   
  将所有记录的“地址”字段里的所有含有“中国”字样的,替换成“中华人民共和国”,  
  比如说:有一个“地址”字段的内容是:中国台湾省,现在要把它替换成:中华人民共和国台湾省。用命令实现,只要有“中国”字样,全部替换成“中华人民共和国”,其他内容不变!    
  Top

13 楼lluunn007(书生)回复于 2001-08-02 09:16:17 得分 50

Query1->Close();  
  Query1->SQL->Text="select   aa   from   XXX   where   aa   like   '%中国%'   "       //查表中含有的地址字段  
  try  
  {Query1->Open();}  
  catch(...){;}  
  while(Query1->Eof)  
  {  
  AnsiString   address=Query1->FieldByName("aa")->AsString;//找出某条含‘中国’的字段  
  int   len=address.Length();  
  for(int   i=1;i<len;i++)          
  {  
    if(address.SubString(i,i+4)=="中国")  
    newadd=address.SubString(1,i)+"中华人民共和国"+address.SubString(i+4,len-i-4);  
    Query2->Close();  
    Query2->SQL->Text="update   XXX   set   aa=   '"+newadd+"'   where   aa='"+address+"'";//修改表  
    try  
    {  
      Query2->ExecSQL();  
    }  
    catch(...){;}  
  }  
  Query1->Next();  
  }  
   
   
  搞定   打完收工!Top

14 楼lluunn007(书生)回复于 2001-08-02 09:18:30 得分 0

Query1->Close();  
  Query1->SQL->Text="select   aa   from   XXX   where   aa   like   '%中国%'   "       //查表中含有的地址字段  
  try  
  {Query1->Open();}  
  catch(...){;}  
  while(Query1->Eof)  
  {  
  AnsiString   address=Query1->FieldByName("aa")->AsString;//找出某条含‘中国’的字段  
  int   len=address.Length();  
  for(int   i=1;i<len;i++)          
  {  
    if(address.SubString(i,i+4)=="中国")  
    newadd=address.SubString(1,i)+"中华人民共和国"+address.SubString(i+4,len-i-4);  
    Query2->Close();  
    Query2->SQL->Text="update   XXX   set   aa=   '"+newadd+"'   where   aa='"+address+"'";//修改表  
    try  
    {  
      Query2->ExecSQL();  
    }  
    catch(...){;}  
  }  
  Query1->Next();  
  }  
  Query1->Close()  
   
  搞定   打完收工!Top

15 楼yuyulily(打工仔)回复于 2001-08-02 09:25:48 得分 10

用StringReplace()试试    
  TReplaceFlags   rf;  
                  rf   <<   rfReplaceAll;  
                  AnsiString   s=StringReplace("中国台湾省","中国","中华人民共和国",   rf   );  
                  Edit1->Text   =   s;//Top

16 楼lluunn007(书生)回复于 2001-08-02 09:32:32 得分 0

呵呵,不能对同一个表同时进行读写。这样吧,在查询完以后你建个TList,将字符串修改后存进List,再在Query2中修改。Top

17 楼wjzhuang(程序猪)回复于 2001-08-02 09:42:36 得分 5

从数据库读出数据的时候的那个  
  ...->AsString  
  ...->AsInteger  
  ...->AsDate  
  ......  
  好像可以直接转化(我没用过)Top

18 楼lluunn007(书生)回复于 2001-08-02 10:14:44 得分 0

程序猪,听说你失恋了。你的QQ?  
  Top

19 楼dingzhenhhy(霸王龙)回复于 2001-08-02 11:25:35 得分 0

学习学习!Top

20 楼Sammo(三毛)回复于 2001-08-02 11:42:32 得分 0

To:lluunn007(玉笛书生)  
  谢谢!我先试试看!还有我在主题里提出的那个SQL里数据类型转换问题呢?可以帮忙解决吗?  
  对啦!你所说的:“呵呵,不能对同一个表同时进行读写。这样吧,在查询完以后你建个TList,将字符串修改后存进List,再在Query2中修改。   ”,是指你给出的代码不能读写数据库呀?  
   
  To:yuyulily(打工仔)  
  我是需要在数据库里进行数据替换,请你详细点说说好吗?  
   
  To:wjzhuang(痛苦中的程序猪)  
  谢谢程序猪!心情不好也来帮忙!谢谢啦!  
  AsString、AsInteger、AsDate等在语法里可以的,但SQL里好像不管用!怎么办呀?!有没有类似DateToStr()等这样好用方便的函数呢?Top

21 楼lluunn007(书生)回复于 2001-08-02 12:01:51 得分 0

是的,就是我的代码中Query2部分你拿出循环外用,循环内用个TList记录字符串,再在外面用个循环将TList中的值取出,并用来修改表中记录。Top

22 楼Sammo(三毛)回复于 2001-08-02 13:02:14 得分 0

Ok!!!我试试!!!谢谢!!可以的话,请帮忙写写代码好吗?!谢谢!!!Top

23 楼lluunn007(书生)回复于 2001-08-02 13:24:40 得分 0

我靠,代码也帮啊。Top

24 楼Sammo(三毛)回复于 2001-08-02 15:33:32 得分 0

不写就算嘛!!干嘛~~~~~~~~Top

25 楼lluunn007(书生)回复于 2001-08-02 15:51:26 得分 0

你先把这个帖子结了,再起个帖子,我帮你写代码吧   。哎~  
  Top

26 楼Sammo(三毛)回复于 2001-08-02 21:07:47 得分 0

哎~~~~~~~~~  
  老兄呀!!!这贴子的主要问题都还没有解决!我就要结贴啊?!不太合适吧!?  
   
  用ADO联接MS   ACCESS的数据库和使用InterBase的数据库时,在SQL语句里,转换各种数据类型时,比如日期TO字符、字符TO日期、字符TO整型、整型TO字符等等,在使用两种数据库时,分别使用什么样的转换函数?怎么样用?  
  注:DateToStr、StrToDate、StrToInt等等不能使用!  
   
  在MSACCESS里,我已经知道有一种方法可以把日期型数据转换成字符型数据,就是cstr(),但要是日期型字段的值是空(NULL)时就提示出错啦!有没有更好的转换函数?Top

27 楼luhongjun(过江项羽)回复于 2001-08-02 22:57:45 得分 0

把分给我,我也不帮你写代码.Top

28 楼Sammo(三毛)回复于 2001-08-03 02:18:08 得分 0

哎!!!!!老兄们呀!!  
  我现在并没有要你们帮我写代码呀!!我只是想得到在SQL语句里转换数据类型的方法而已!~!_!~  
  “用ADO联接MS   ACCESS的数据库和使用InterBase的数据库时,在SQL语句里,转换各种数据类型时,比如日期TO字符、字符TO日期、字符TO整型、整型TO字符等等,在使用两种数据库时,分别使用什么样的转换函数?怎么样用?”  
  注:DateToStr、StrToDate、StrToInt等等不能使用!  
   
  Top

29 楼Sammo(三毛)回复于 2001-08-03 02:25:37 得分 0

我真的有点搞不懂!为什么我提的下面这个问题没人会答!是我表达不清晰?还是真的没人懂这方面的知识呢?哪位大侠给我指点一下呀?  
   
  在使用M$和InterBase数据库时,在SQL语句里,怎么样转换各种数据类型?如:日期转字符、字符转日期等!  
   
  是真的没人懂还是怎么回事?请哪位高人指点一下!!!!谢谢!!!!!!!!!Top

30 楼hotyei(出于蓝胜于蓝)回复于 2001-08-03 08:26:07 得分 0

为什么不自己查查帮助文件?ACCESS及INTERBASE的帮助文件很全。 Top

31 楼mysun(蛤蟆)回复于 2001-08-03 09:26:08 得分 0

记得在oracle上有这么一种用法,老兄可以去试试一下,to_date(String).Top

32 楼Sammo(三毛)回复于 2001-08-03 13:02:05 得分 0

ACCESS及INTERBASE的帮助文件里无法找到呀~~~~~~~~Top

33 楼TR@SOE()回复于 2001-08-05 11:38:31 得分 55

仅遵SAMMO兄要我在此留言的台命。  
   
  Top

34 楼Sammo(三毛)回复于 2001-08-05 13:24:46 得分 0

不敢不敢!!谢谢啦!!Top

相关问题

  • 继续加分!!
  • 继续送分
  • 继续送分!
  • 继续送分!!!!!!!
  • 继续送分。
  • 继续送分1
  • 继续送分哦~~~~~~
  • 继续送分,加班的来拿分呀!!!!
  • 今天继续送分
  • 请问!继续送分

关键词

  • 字符
  • 字段
  • 数据库
  • 转换
  • 函数
  • 数据
  • 语句
  • 修改
  • 代码
  • 联接

得分解答快速导航

  • 帖主:Sammo
  • lluunn007
  • yuyulily
  • wjzhuang
  • TR@SOE

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo