各位大侠,我的Oracle 数据库里面的字段是jxjh医学文献检索-24#社会医疗保险-12 //课程名称-学时#课程名称-学时#课程名称-学时
医学创造学-24
........怎样把课程名称 学时分别取出来?
例如:医学文献检索
24
社会医疗保险
12共4条数据.
----------
医学创造学
24
.........
先谢谢各位了!!!
医学创造学-24
........怎样把课程名称 学时分别取出来?
例如:医学文献检索
24
社会医疗保险
12共4条数据.
----------
医学创造学
24
.........
先谢谢各位了!!!
copy(s,1,Pos('-',s) - 1);
copy(s,pos('-',s) + 1,Length(s) - Pos('-',s);
Delimiter:=#;
DelimitedText:=数据库中取出的字段值
取出每一个以#分割的字符串
然后在字符串中用Pos定位“-”字符,分别取出课程名称与课时
我照着你的方法试了一下,但是好象不能实现分割字符串我的代码如下:
procedure TForm1.Button3Click(Sender: TObject);
var
a1: TStringList;
begin
a1:= TStringList.Create;
a1.Delimiter:='#';
a1.DelimitedText:=ADOQuery1.FieldValues['xxkcmc'];
showmessage(a1.DelimitedText);
a1.Free;
end;
end.show出来的信息 仍然是:医学文献检索-24#社会医疗保险-12 并没有实现分割?
procedure TForm1.Button3Click(Sender: TObject);
var
a1: TStringList;
begin
a1:= TStringList.Create;
a1.Delimiter:='#';
a1.DelimitedText:=ADOQuery1.FieldValues['xxkcmc'];
showmessage(a1.DelimitedText);
a1.Free;
end;
end.show出来的信息 仍然是:医学文献检索-24#社会医疗保险-12 并没有实现分割?
------------------------------------------------------------------------
showmessage(a1.DelimitedText);改为showmessage(a1.Text);
再看看撒
应该是:showmessage(a1[0]);showmessage(a1[1]);
但是这里有个问题:
像 医学创造学-24 没有# 把它show出来的时候就出错了!有什么好的办法解决?
能不能这样 用一个函数先判断是否有"#" ?
可以的话 是什么函数呢?
或许有没更简单的方法?
可以的话 是什么函数呢?--------------------------------
if pos('#',s) > 0 then
showmessage('有#');