?? 87.txt
字號(hào):
2
樓上正解,extractfilepath(application.ExeName)返回你的Exe所在的路徑(帶\),比如你的數(shù)據(jù)庫是在程序的data子目錄則數(shù)據(jù)庫路徑為
dbpath=extractfilepath(application.ExeName) + 'data';
3
樓上正解,extractfilepath(application.ExeName)返回你的Exe所在的路徑(帶\),比如你的數(shù)據(jù)庫是在程序的data子目錄則數(shù)據(jù)庫路徑為
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
在作了一個(gè)安裝文件后安裝在program files 目錄下面,發(fā)現(xiàn)引用的還是原來的制作過程中的數(shù)據(jù)庫路徑。
現(xiàn)在想能夠查找一下安裝路徑然后直接連接到數(shù)據(jù)庫。
能力有限,請(qǐng)各位朋友能夠給出代碼。
5
這兩天忙著寫程序,正好用到
其實(shí)連接字符串沒有那么長的
下面是我寫的代碼,你可以考過去試一下的
procedure TFrmmain.FormCreate(Sender: TObject);
begin
ADOConn1.ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+extractfilepath(application.ExeName)+'數(shù)據(jù)庫\yxb.mdb;'+'Persist Security Info=False';
end;
*************************************************************************************************
format字符串是如果字符串本身含'怎么辦?
1
format('''字符串''');即可!
2
搞定了,不過最后一個(gè)字符如果是' ,要寫成'''字符串'????
*-*************************************************************************************************
Delpih中處理字符串中單引號(hào)的問題。樓主jarmy21()2001-07-18 17:48:58 在 Delphi / VCL組件開發(fā)及應(yīng)用 提問
一個(gè)添加的功能,不過要添加的字符串是包含單引號(hào)的,
該如何處理該字符串?是用SQL insert語句。
Thanks!
問題點(diǎn)數(shù):20、回復(fù)次數(shù):17
Top
1 樓chechy(www.qdocuments.net)回復(fù)于 2001-07-18 17:51:39 得分 0 Example:
var
a: string;
a := 'It''s me.';
單引號(hào)用兩個(gè)單引號(hào)轉(zhuǎn)義。
Top
2 樓delphi_user(皮皮蝦)回復(fù)于 2001-07-18 19:04:46 得分 0 或者用'的ASC碼表示
A:='IT '+#39+'ADFASDF'
Top
3 樓Alphen(正在學(xué)習(xí)VC)回復(fù)于 2001-07-18 20:41:27 得分 2晚了
Top
4 樓soft123(泰山)回復(fù)于 2001-07-18 20:44:41 得分 0 ''
Top
5 樓wz2001(板凳程序員)回復(fù)于 2001-07-18 20:47:33 得分 2很簡單的處理,在Delphi里,可以用''''表示"'",如下:
sql.Add ('select * from "patient.db" where 科室 ='''+Room_Name+'''');
Top
6 樓Impylm(韓冰)回復(fù)于 2001-07-18 21:01:32 得分 0 下面一段代碼,執(zhí)行不成功,請(qǐng)大家找找錯(cuò)誤
fADODataSet.CommandText:='select * from V_Authors Where Birth=:fBirth'; fADODataSet.Parameters.ParamByName('fBirth').Value:=DatetoStr(fBirth.Date);
fADODataSet.Active:=True;
Top
7 樓jarmy21()回復(fù)于 2001-07-19 09:41:31 得分 0 to chechy:如果變量 a 是由一個(gè)數(shù)據(jù)庫讀出來中的一個(gè)帶單引號(hào)的字符串,
那該如何轉(zhuǎn)換?至于這個(gè)字符串是不知道是什么來的。
Top
8 樓nlict(火腿@zju)回復(fù)于 2001-07-19 13:04:43 得分 0 Formatdatetime
Top
9 樓cyms(秋天的樹)回復(fù)于 2001-07-19 16:27:33 得分 0 impylm:將datetostr改為datetimetostr試試
Top
10 樓torrentwang(代碼工人)回復(fù)于 2001-07-19 16:49:07 得分 0 有誰能完整的解釋一下單引號(hào)的功能如 ','',''','''',''''' 在DELPHI 中個(gè)表示什么
假如符號(hào)再多又表示成什么
Top
11 樓chechy(www.qdocuments.net)回復(fù)于 2001-07-19 16:49:39 得分 0 那就更簡單了,你就按照字符串操作去做好了,你根本就不用擔(dān)心a中到底是否有單引號(hào),因?yàn)镈elphi會(huì)替你做的。
Top
12 樓wz2001(板凳程序員)回復(fù)于 2001-07-20 13:09:25 得分 2to torrentwang :不要混淆了,很簡單,平時(shí)"''"表示一個(gè)空的串,"''''"表示一個(gè)"'"的轉(zhuǎn)意,
只要記住一點(diǎn),在字符串中,"''"可以表示一個(gè)"'"的轉(zhuǎn)意.
這就是說,為什么"''''"表示一個(gè)"'"的轉(zhuǎn)意,是因?yàn)樗硎镜氖且粋€(gè)字符串內(nèi)的"''".
而你所看到的"'''"是一個(gè)局部,因該和前面或后面的內(nèi)容聯(lián)系起來看才對(duì).
表達(dá)不清楚的地方請(qǐng)諒解.
Top
13 樓jarmy21()回復(fù)于 2001-07-20 20:46:41 得分 0 其實(shí),對(duì)于字符串中的一些問題,好像在asp中有一個(gè)替換的函數(shù) replace();
不知delphi有沒有這樣類似的函數(shù)呢?
Top
14 樓wwwjjf(讓我呵呵你吧)回復(fù)于 2001-07-20 20:52:16 得分 2舉個(gè)簡單的例子:Sql.add('select * from a where name = "wwwjjf " ');
在語句里用雙引號(hào)代替單引號(hào)。謝謝你的分!!
Top
15 樓chechy(www.qdocuments.net)回復(fù)于 2001-07-23 10:05:50 得分 10Delphi有ReplaceString,其實(shí)Delphi關(guān)于字符串操作的函數(shù)挺多的,尤其實(shí)D6。此外JEDI中也有大量字符串操作的函數(shù)。
Top
16 樓xiaojiachong(小甲蟲)回復(fù)于 2001-07-23 10:46:54 得分 2如果是SQL的insert語句,最好用參數(shù),把字符串直接賦給參數(shù),轉(zhuǎn)化工作不用作了
Top
17 樓jarmy21()回復(fù)于 2001-07-24 15:55:00 得分 0 thanks all
*****************************************************************************************
假如插入的字符串中有單引號(hào),該怎么處理啊?樓主luckypan()2002-11-04 22:13:53 在 Oracle / 基礎(chǔ)和管理 提問
在向表中插入字符串?dāng)?shù)據(jù)時(shí),字符串中有單引號(hào),結(jié)果輸出錯(cuò)誤為“應(yīng)該添加“,”(逗號(hào))”。insert語句如下:
insert into table1(s1,s2)
values('芝麻是'黑五類','1')
其中s1,s2者是字符串類型。
問題點(diǎn)數(shù):20、回復(fù)次數(shù):11
Top
1 樓penitent(只取一瓢)回復(fù)于 2002-11-04 22:59:06 得分 3這么寫
insert into table1(s1,s2)
values('芝麻是''黑五類','1') --兩個(gè)但引號(hào)表示一個(gè)
或
insert into table1(s1,s2)
values('芝麻是chr(34)黑五類','1') --可以用asc碼表示,不是34就是39
Top
2 樓zhenyukeji(美麗新家)回復(fù)于 2002-11-05 08:31:14 得分 3insert into table1(s1,s2)
values('芝麻是''黑五類','1')
Top
3 樓Tom_Tan(vagrant)回復(fù)于 2002-11-05 09:41:53 得分 2insert into table1(s1,s2)
values("芝麻是'黑五類",'1')
Top
4 樓mycode(不寫代碼)回復(fù)于 2002-11-05 09:45:51 得分 2如果是程序來插入,建議要用Parameter的方式.即
insert into table1(s1,s2)
values(:s1,:s2);
然后對(duì):s1,:s2進(jìn)行賦值. 采用不同的方式,賦值可能不同.
這樣,任何特殊的字符都不用處理了.
Top
5 樓sqlplus(郁金香)回復(fù)于 2002-11-05 10:55:50 得分 2insert into table1(s1,s2)
values('芝麻是'||chr(39)||'黑五類','1');
Top
6 樓xiapb(nirvana)回復(fù)于 2002-11-05 11:06:45 得分 2
chr(39) '
chr(35) #
Top
7 樓luckypan()回復(fù)于 2002-11-05 14:23:40 得分 0 首選謝謝大家!
to:penitent(只取一瓢):
這么寫
insert into table1(s1,s2)
values('芝麻是''黑五類','1') --兩個(gè)但引號(hào)表示一個(gè)
我用你這種方法試了一下,發(fā)現(xiàn)還是發(fā)生同樣的錯(cuò)誤!是不是因?yàn)橄到y(tǒng)認(rèn)為兩個(gè)單引號(hào)中間少了個(gè)逗號(hào)的緣故?!
to: mycode(不寫代碼):
我試了你的方法,先聲明了兩個(gè)變量(int s1,string s2),然后執(zhí)行你的語句,但是不行啊。我用的是 .net + c#
Top
8 樓chooser(chooser)回復(fù)于 2002-11-05 14:25:30 得分 2mycode的方法我擁護(hù)
Top
9 樓luckysxn(堅(jiān)持到底)回復(fù)于 2002-11-05 16:59:01 得分 4單引號(hào)的插入問題
SQL> insert into a values('i''m good'); --兩個(gè)''可以表示一個(gè)'
SQL> insert into a values('i'||chr(39)||'m good'); --chr(39)代表字符'
SQL> insert into a values('a'||'&'||'b');
Top
10 樓luckypan()回復(fù)于 2002-11-05 23:16:09 得分 0 謝謝大家,問題到現(xiàn)在也算是解決了。現(xiàn)在又出來一個(gè)新的問題。
insert into table1(s1,s2)
values('芝麻是'黑五類'食品','1')
這樣插入的時(shí)候,就會(huì)報(bào)錯(cuò):缺少逗號(hào)。該怎么解決?謝謝。
Top
11 樓luckypan()回復(fù)于 2002-11-07 15:20:42 得分 0 結(jié)貼吧,出來的問題再作新的討論。
**********************************************************************************************
update t_number set flongshort='長' where fespecially>=25
我要得到上面語句的字符串,付出一個(gè)字符變量@sql,怎么寫?
問題點(diǎn)數(shù):20、回復(fù)次數(shù):9
Top
1 樓jinjazz(近身剪)回復(fù)于 2005-09-27 12:15:02 得分 15'update t_number set flongshort=''長'' where fespecially>=25 '
Top
2 樓lula(陸浪)回復(fù)于 2005-09-27 12:15:21 得分 0 是賦給字符變量@sql
Top
3 樓jinjazz(近身剪)回復(fù)于 2005-09-27 12:17:00 得分 0 set @sql='update t_number set flongshort=''長'' where fespecially>=25 '
Top
4 樓jinjazz(近身剪)回復(fù)于 2005-09-27 12:17:20 得分 0 你自己連個(gè)set都寫不來么?
Top
5 樓lula(陸浪)回復(fù)于 2005-09-27 12:19:51 得分 0 長旁邊是兩個(gè)單引號(hào)還是一個(gè)又引號(hào)?
Top
6 樓vivianfdlpw()回復(fù)于 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(云中客)回復(fù)于 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(近身剪)回復(fù)于 2005-09-27 12:22:18 得分 0 樓上的,我有點(diǎn)事情想找你,請(qǐng)查收短消息
Top
9 樓jinjazz(近身剪)回復(fù)于 2005-09-27 12:22:32 得分 0 我說的是vivianfdlpw() ( ) 信譽(yù):100
************************************************************************************************
關(guān)于字符串中包含單引號(hào)的字符串怎樣賦值給變量;樓主zhengkapi(zhengkapi)2002-09-05 23:52:26 在 Delphi / VCL組件開發(fā)及應(yīng)用 提問
有下面這樣一個(gè)問題:
我要將字符串Jet OLEDB:Don't Copy Locale on Compact=False賦值給一個(gè)string型的變量;正常的寫法應(yīng)該是將這個(gè)字符串用單引號(hào)括起來賦值給變量,如下:
Str:='Jet OLEDB:Don't Copy Locale on Compact=False;';
但是由于這個(gè)字符串中本身就含有一個(gè)單引號(hào),所以在編譯時(shí)老是報(bào)錯(cuò),因?yàn)閱我?hào)不配對(duì),應(yīng)該怎樣解決這個(gè)問題呢,請(qǐng)高手指點(diǎn);
問題點(diǎn)數(shù):30、回復(fù)次數(shù):9
Top
1 樓shadow7880(賽都)回復(fù)于 2002-09-05 23:55:41 得分 6
Str:='Jet OLEDB:Don' + ''' + t Copy Locale on Compact=False;';
這樣是不會(huì)出錯(cuò)的了
Top
2 樓3yugui(億硅)回復(fù)于 2002-09-05 23:55:55 得分 6 /***這個(gè)是正確的!***/
Str:='Jet OLEDB:Don''t Copy Locale on Compact=False;';
Top
3 樓shadow7880(賽都)回復(fù)于 2002-09-05 23:56:24 得分 0 不好意思,掉了個(gè)引號(hào)
Str:='Jet OLEDB:Don' + ''' + ‘t Copy Locale on Compact=False;';
Top
4 樓3yugui(億硅)回復(fù)于 2002-09-05 23:56:39 得分 0
Str:='Jet OLEDB:Don'''+'t Copy Locale on Compact=False;';
Top
5 樓shadow7880(賽都)回復(fù)于 2002-09-05 23:58:27 得分 0
Str:='Jet OLEDB:Don' + '''' + 't Copy Locale on Compact=False;';
Top
6 樓zlren(鬼鬼)回復(fù)于 2002-09-06 00:03:22 得分 6
str:='Jet OLEDB:Don'+'''+'t Copy Locale on Compact=False:';
Top
7 樓ssl2000(大宋)回復(fù)于 2002-09-06 00:14:18 得分 6
奇數(shù)不對(duì),偶數(shù)對(duì)//點(diǎn)點(diǎn)個(gè)數(shù)吧。
Top
8 樓ColdWolf(天邊流星)回復(fù)于 2002-09-06 00:28:42 得分 6
在Delphi中,如果要在字符串中出現(xiàn) 單引號(hào),那么就用兩個(gè)在一起,標(biāo)志不是字符串結(jié)束,而是一個(gè)在字符串內(nèi)的單引號(hào)
Top
9 樓ColdWolf(天邊流星)回復(fù)于 2002-09-06 00:29:28 得分 0
那么你的就應(yīng)該寫成:
Str:='Jet OLEDB:Don''t Copy Locale on Compact=False;';
*****************************************************************************************************
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -