类型转换问题--急!!!(100分)

  • 主题发起人 主题发起人 thjk_1979
  • 开始时间 开始时间
T

thjk_1979

Unregistered / Unconfirmed
GUEST, unregistred user!
请教各位:
在一个excle表中有一些数据,例如:452.123
60%
211t/h
......
要将它们导入到oracle数据库中去,在数据库中它们对应的字段是number型
现在在delphi6中,该怎样进行类型转换?把这些数据导入到数据库中去呢?

希望得到大家的指点,越详细越好,小弟先谢谢各位了。
 
fieldbyname(?).ascurrency
strtocurr(?)

首先要搞明白你是如何把excel表的这些数据取出来的?
 
假设 452.123 在excle表中对于的是(C,3),
则取数据 var_01:=wksheet1.Cells.Item[3, 3].Value;
在前面定义了有 var_01:variant;

 
首先要把带单位部分的单位去掉,可以用StringReplace函数:
比如:
var s:string;
begin
s:=excelapp.cells[x,y].value;
s:=StringReplace(s,'t/h','',[]); //去掉't/h'单位
dataset.fieldbyname('fieldname').asstring:=s; //存入数据库,不必管是什么类型
end;
 
to HunterTeam:
还是不行,数据库中数据没有更新哦,我把我写的让你看看吧,
var
var_01:string;
var_02:string;
var_03:string;
var_o4:string;
......

var_01:=wksheet1.Cells.Item[17, 3].Value;//var_01,var_02,var_03,var_04在
........ //excle表中对应的是452.123形式

With AdoqInsert.SQL do begin
clear;
add(' update pingheng_table set 早班产量='''+var_01+''',中班产量='''+var_03+''',晚班产量='''+var_05+''',全天产量='''+var_07+''' where pingheng_id=1 and 日期=to_date('+''''+EdtDate.Text+''''+','+''''+'yyyy-mm-dd'+''''+')');

//这里必须使用updata语句;
AdoqInsert.ExecSQL;


我编译运行都没问题,只是在数据库里数据没有更新,麻烦你再看看吧。
 
为什么没人回答阿呢?
 
多人接受答案了。
 
后退
顶部