📄 87.txt
字号:
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 + -