⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 87.txt

📁 该源码程序使用DELPHI连接EXCEL数据表并查询生成新的表单及一些EXCEL调用函数
💻 TXT
📖 第 1 页 / 共 2 页
字号:

2
楼上正解,extractfilepath(application.ExeName)返回你的Exe所在的路径(带\),比如你的数据库是在程序的data子目录则数据库路径为

dbpath=extractfilepath(application.ExeName) + 'data';


3
楼上正解,extractfilepath(application.ExeName)返回你的Exe所在的路径(带\),比如你的数据库是在程序的data子目录则数据库路径为

dbpath=extractfilepath(application.ExeName) + 'data';


4
两位朋友的方法都是正解。但我的问题没有说清除。
我使用了
.\db.mdb即
Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;[B]Data Source=db.mdb;[B]Mode=Share Deny None;Extended Properties="";Persist Security Info=False;Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False
在作了一个安装文件后安装在program files 目录下面,发现引用的还是原来的制作过程中的数据库路径。
现在想能够查找一下安装路径然后直接连接到数据库。
能力有限,请各位朋友能够给出代码。

5
这两天忙着写程序,正好用到

其实连接字符串没有那么长的

下面是我写的代码,你可以考过去试一下的

procedure TFrmmain.FormCreate(Sender: TObject);

begin
ADOConn1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'数据库\yxb.mdb;'+'Persist Security Info=False';
end;


*************************************************************************************************
format字符串是如果字符串本身含'怎么办?
1
format('''字符串''');即可!
2
搞定了,不过最后一个字符如果是'   ,要写成'''字符串'????   
*-*************************************************************************************************


Delpih中处理字符串中单引号的问题。楼主jarmy21()2001-07-18 17:48:58 在 Delphi / VCL组件开发及应用 提问
一个添加的功能,不过要添加的字符串是包含单引号的,   
  该如何处理该字符串?是用SQL   insert语句。   
  Thanks! 
问题点数:20、回复次数:17
Top
 

1 楼chechy(www.qdocuments.net)回复于 2001-07-18 17:51:39 得分 0 Example:   
  var   
    a:   string;   
    
  a   :=   'It''s   me.';   
  单引号用两个单引号转义。
Top

2 楼delphi_user(皮皮虾)回复于 2001-07-18 19:04:46 得分 0 或者用'的ASC码表示   
  A:='IT   '+#39+'ADFASDF'   
  
Top

3 楼Alphen(正在学习VC)回复于 2001-07-18 20:41:27 得分 2晚了
Top

4 楼soft123(泰山)回复于 2001-07-18 20:44:41 得分 0 ''
Top

5 楼wz2001(板凳程序员)回复于 2001-07-18 20:47:33 得分 2很简单的处理,在Delphi里,可以用''''表示"'",如下:   
  sql.Add   ('select   *   from   "patient.db"   where   科室   ='''+Room_Name+'''');
Top

6 楼Impylm(韩冰)回复于 2001-07-18 21:01:32 得分 0 下面一段代码,执行不成功,请大家找找错误   
  fADODataSet.CommandText:='select   *   from   V_Authors   Where   Birth=:fBirth';     fADODataSet.Parameters.ParamByName('fBirth').Value:=DatetoStr(fBirth.Date);   
  fADODataSet.Active:=True;
Top

7 楼jarmy21()回复于 2001-07-19 09:41:31 得分 0 to   chechy:如果变量   a   是由一个数据库读出来中的一个带单引号的字符串,   
                      那该如何转换?至于这个字符串是不知道是什么来的。
Top

8 楼nlict(火腿@zju)回复于 2001-07-19 13:04:43 得分 0 Formatdatetime
Top

9 楼cyms(秋天的树)回复于 2001-07-19 16:27:33 得分 0 impylm:将datetostr改为datetimetostr试试
Top

10 楼torrentwang(代码工人)回复于 2001-07-19 16:49:07 得分 0 有谁能完整的解释一下单引号的功能如   ','',''','''','''''   在DELPHI   中个表示什么   
  假如符号再多又表示成什么
Top

11 楼chechy(www.qdocuments.net)回复于 2001-07-19 16:49:39 得分 0 那就更简单了,你就按照字符串操作去做好了,你根本就不用担心a中到底是否有单引号,因为Delphi会替你做的。
Top

12 楼wz2001(板凳程序员)回复于 2001-07-20 13:09:25 得分 2to   torrentwang   :不要混淆了,很简单,平时"''"表示一个空的串,"''''"表示一个"'"的转意,   
  只要记住一点,在字符串中,"''"可以表示一个"'"的转意.   
  这就是说,为什么"''''"表示一个"'"的转意,是因为它表示的是一个字符串内的"''".   
  而你所看到的"'''"是一个局部,因该和前面或后面的内容联系起来看才对.   
  表达不清楚的地方请谅解.
Top

13 楼jarmy21()回复于 2001-07-20 20:46:41 得分 0 其实,对于字符串中的一些问题,好像在asp中有一个替换的函数   replace();   
  不知delphi有没有这样类似的函数呢?
Top

14 楼wwwjjf(让我呵呵你吧)回复于 2001-07-20 20:52:16 得分 2举个简单的例子:Sql.add('select   *   from   a   where   name   =   "wwwjjf   "   ');   
  在语句里用双引号代替单引号。谢谢你的分!!   
  
Top

15 楼chechy(www.qdocuments.net)回复于 2001-07-23 10:05:50 得分 10Delphi有ReplaceString,其实Delphi关于字符串操作的函数挺多的,尤其实D6。此外JEDI中也有大量字符串操作的函数。
Top

16 楼xiaojiachong(小甲虫)回复于 2001-07-23 10:46:54 得分 2如果是SQL的insert语句,最好用参数,把字符串直接赋给参数,转化工作不用作了
Top

17 楼jarmy21()回复于 2001-07-24 15:55:00 得分 0 thanks   all
*****************************************************************************************

假如插入的字符串中有单引号,该怎么处理啊?楼主luckypan()2002-11-04 22:13:53 在 Oracle / 基础和管理 提问
在向表中插入字符串数据时,字符串中有单引号,结果输出错误为“应该添加“,”(逗号)”。insert语句如下:   
  insert   into   table1(s1,s2)   
  values('芝麻是'黑五类','1')   
  其中s1,s2者是字符串类型。   
  
问题点数:20、回复次数:11
Top
 

1 楼penitent(只取一瓢)回复于 2002-11-04 22:59:06 得分 3这么写   
  insert   into   table1(s1,s2)   
  values('芝麻是''黑五类','1')     --两个但引号表示一个   
  insert   into   table1(s1,s2)   
  values('芝麻是chr(34)黑五类','1')     --可以用asc码表示,不是34就是39
Top

2 楼zhenyukeji(美丽新家)回复于 2002-11-05 08:31:14 得分 3insert   into   table1(s1,s2)   
  values('芝麻是''黑五类','1')
Top

3 楼Tom_Tan(vagrant)回复于 2002-11-05 09:41:53 得分 2insert   into   table1(s1,s2)   
  values("芝麻是'黑五类",'1')   
  
Top

4 楼mycode(不写代码)回复于 2002-11-05 09:45:51 得分 2如果是程序来插入,建议要用Parameter的方式.即   
  insert   into   table1(s1,s2)   
  values(:s1,:s2);   
  然后对:s1,:s2进行赋值.   采用不同的方式,赋值可能不同.   
  这样,任何特殊的字符都不用处理了.
Top

5 楼sqlplus(郁金香)回复于 2002-11-05 10:55:50 得分 2insert   into   table1(s1,s2)   
  values('芝麻是'||chr(39)||'黑五类','1');
Top

6 楼xiapb(nirvana)回复于 2002-11-05 11:06:45 得分 2  
      chr(39)     '   
      chr(35)     #
Top

7 楼luckypan()回复于 2002-11-05 14:23:40 得分 0 首选谢谢大家!   
  to:penitent(只取一瓢):   
  这么写   
  insert   into   table1(s1,s2)   
  values('芝麻是''黑五类','1')     --两个但引号表示一个   
  我用你这种方法试了一下,发现还是发生同样的错误!是不是因为系统认为两个单引号中间少了个逗号的缘故?!   
    
  to:   mycode(不写代码):   
    我试了你的方法,先声明了两个变量(int   s1,string   s2),然后执行你的语句,但是不行啊。我用的是   .net   +   c#
Top

8 楼chooser(chooser)回复于 2002-11-05 14:25:30 得分 2mycode的方法我拥护
Top

9 楼luckysxn(坚持到底)回复于 2002-11-05 16:59:01 得分 4单引号的插入问题   
    
  SQL>   insert   into   a   values('i''m   good');         --两个''可以表示一个'   
    
  SQL>   insert   into   a   values('i'||chr(39)||'m   good'); --chr(39)代表字符'   
    
  SQL>   insert   into   a   values('a'||'&'||'b');
Top

10 楼luckypan()回复于 2002-11-05 23:16:09 得分 0 谢谢大家,问题到现在也算是解决了。现在又出来一个新的问题。   
  insert   into   table1(s1,s2)   
  values('芝麻是'黑五类'食品','1')   
  这样插入的时候,就会报错:缺少逗号。该怎么解决?谢谢。   
  
Top

11 楼luckypan()回复于 2002-11-07 15:20:42 得分 0 结贴吧,出来的问题再作新的讨论。

**********************************************************************************************

update   t_number   set   flongshort='长'   where   fespecially>=25     
    
  我要得到上面语句的字符串,付出一个字符变量@sql,怎么写? 
问题点数:20、回复次数:9
Top
 

1 楼jinjazz(近身剪)回复于 2005-09-27 12:15:02 得分 15'update   t_number   set   flongshort=''长''   where   fespecially>=25   '
Top

2 楼lula(陆浪)回复于 2005-09-27 12:15:21 得分 0 是赋给字符变量@sql
Top

3 楼jinjazz(近身剪)回复于 2005-09-27 12:17:00 得分 0 set   @sql='update   t_number   set   flongshort=''长''   where   fespecially>=25   '   
  
Top

4 楼jinjazz(近身剪)回复于 2005-09-27 12:17:20 得分 0 你自己连个set都写不来么?
Top

5 楼lula(陆浪)回复于 2005-09-27 12:19:51 得分 0 长旁边是两个单引号还是一个又引号?
Top

6 楼vivianfdlpw()回复于 2005-09-27 12:19:55 得分 3declare   @sql   varchar(8000)   
  set   @sql='update   t_number   set   flongshort=''长''   where   fespecially>=25'   
  exec(@sql)   
  
Top

7 楼sxycgxj(云中客)回复于 2005-09-27 12:22:01 得分 2declare   @sql   varchar(8000)   
  set   @sql='update   t_number   set   flongshort=''长''   where   fespecially>=25'   
  select   @sql
Top

8 楼jinjazz(近身剪)回复于 2005-09-27 12:22:18 得分 0 楼上的,我有点事情想找你,请查收短消息
Top

9 楼jinjazz(近身剪)回复于 2005-09-27 12:22:32 得分 0 我说的是vivianfdlpw()   (   )   信誉:100
************************************************************************************************


关于字符串中包含单引号的字符串怎样赋值给变量;楼主zhengkapi(zhengkapi)2002-09-05 23:52:26 在 Delphi / VCL组件开发及应用 提问
有下面这样一个问题:   
  我要将字符串Jet   OLEDB:Don't   Copy   Locale   on   Compact=False赋值给一个string型的变量;正常的写法应该是将这个字符串用单引号括起来赋值给变量,如下:   
      Str:='Jet   OLEDB:Don't   Copy   Locale   on   Compact=False;';   
  但是由于这个字符串中本身就含有一个单引号,所以在编译时老是报错,因为单引号不配对,应该怎样解决这个问题呢,请高手指点; 
问题点数:30、回复次数:9
Top
 

1 楼shadow7880(赛都)回复于 2002-09-05 23:55:41 得分 6
Str:='Jet   OLEDB:Don'   +   '''   +   t   Copy   Locale   on   Compact=False;';   
  这样是不会出错的了   
    
  
Top

2 楼3yugui(亿硅)回复于 2002-09-05 23:55:55 得分 6   /***这个是正确的!***/
Str:='Jet   OLEDB:Don''t   Copy   Locale   on   Compact=False;';   
  
Top

3 楼shadow7880(赛都)回复于 2002-09-05 23:56:24 得分 0 不好意思,掉了个引号   
  Str:='Jet   OLEDB:Don'   +   '''   +   ‘t   Copy   Locale   on   Compact=False;';   
  
Top

4 楼3yugui(亿硅)回复于 2002-09-05 23:56:39 得分 0 
Str:='Jet   OLEDB:Don'''+'t   Copy   Locale   on   Compact=False;';
Top

5 楼shadow7880(赛都)回复于 2002-09-05 23:58:27 得分 0
Str:='Jet   OLEDB:Don'   +   ''''   +   't   Copy   Locale   on   Compact=False;';   
  
Top

6 楼zlren(鬼鬼)回复于 2002-09-06 00:03:22 得分 6
str:='Jet   OLEDB:Don'+'''+'t   Copy   Locale   on   Compact=False:';
Top

7 楼ssl2000(大宋)回复于 2002-09-06 00:14:18 得分 6
奇数不对,偶数对//点点个数吧。   
  
Top

8 楼ColdWolf(天边流星)回复于 2002-09-06 00:28:42 得分 6
在Delphi中,如果要在字符串中出现   单引号,那么就用两个在一起,标志不是字符串结束,而是一个在字符串内的单引号
Top

9 楼ColdWolf(天边流星)回复于 2002-09-06 00:29:28 得分 0 
那么你的就应该写成:   
  Str:='Jet   OLEDB:Don''t   Copy   Locale   on   Compact=False;';   
  
*****************************************************************************************************






⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -