O
onet
Unregistered / Unconfirmed
GUEST, unregistred user!
把工业机输出的数据通过串口接收到数据库中DB1.db。由于事先不知道数据格式,所以数据库表中只定义了一个宽字段REC,将输出的数据全放在这个字段中。取数据相关代码如下:
QueryData.SQL.Clear;
QueryData.SQL.Add('insert into db1 values Rec)');
QueryData.ParamByName('Rec').AsString:=bakS; //变量bakS是取得的一条完整的数据记录,将其放入数据库REC字段中。
根据得到的数据,知道了数据的格式。按照得到的数据格式,建立一张新数据表DB2.db,字段与其宽度和工业机输出的一样,更改程序代码如下:
QueryData.SQL.Clear;
QueryData.SQL.Add('insert into db2 '+
'(audt,typ,st,strt,date/time,end time,cr sw#,ani sta#,cr sta#,cr tg#,cr ckt#,cr cos,'+
'acc cod,sel fac,sel sta#,sel tg#,sel ckt#,sel pat#,dialed number,code val) values'+
'audt,:typ,:st,:strt,:date/time,:end time,:cr sw#,:ani sta#,:cr sta#,:cr tg#,:cr ckt#,'+
':cr cos,:acc cod,:sel fac,:sel sta#,:sel tg#,:sel ckt#,:sel pat#,:dialed number,:code val)');
QueryData.ParamByName('audt,typ,st,strt,date/time,end time,cr sw#,ani sta#,cr sta#,cr tg#,cr ckt#,'+
'cr cos,acc cod,sel fac,sel sta#,sel tg#,sel ckt#,sel pat#,dialed number,code val').AsString:=bakS;
这样做的目的是想让工业机输出的数据可以“对号入座”,但程序编译运行后,会有错误提示:
QueryData:parameter'audt,typ,st,strt,date/time,end time,cr sw#,ani sta#,cr sta#,cr tg#,cr ckt#,cr cos,acc cod,sel fac,sel sta#,sel tg#,sel ckt#,sel pat#,dialed number,code val'not found
为什么会提示找不到这些参数?怎样做可以达到目的?
QueryData.SQL.Clear;
QueryData.SQL.Add('insert into db1 values Rec)');
QueryData.ParamByName('Rec').AsString:=bakS; //变量bakS是取得的一条完整的数据记录,将其放入数据库REC字段中。
根据得到的数据,知道了数据的格式。按照得到的数据格式,建立一张新数据表DB2.db,字段与其宽度和工业机输出的一样,更改程序代码如下:
QueryData.SQL.Clear;
QueryData.SQL.Add('insert into db2 '+
'(audt,typ,st,strt,date/time,end time,cr sw#,ani sta#,cr sta#,cr tg#,cr ckt#,cr cos,'+
'acc cod,sel fac,sel sta#,sel tg#,sel ckt#,sel pat#,dialed number,code val) values'+
'audt,:typ,:st,:strt,:date/time,:end time,:cr sw#,:ani sta#,:cr sta#,:cr tg#,:cr ckt#,'+
':cr cos,:acc cod,:sel fac,:sel sta#,:sel tg#,:sel ckt#,:sel pat#,:dialed number,:code val)');
QueryData.ParamByName('audt,typ,st,strt,date/time,end time,cr sw#,ani sta#,cr sta#,cr tg#,cr ckt#,'+
'cr cos,acc cod,sel fac,sel sta#,sel tg#,sel ckt#,sel pat#,dialed number,code val').AsString:=bakS;
这样做的目的是想让工业机输出的数据可以“对号入座”,但程序编译运行后,会有错误提示:
QueryData:parameter'audt,typ,st,strt,date/time,end time,cr sw#,ani sta#,cr sta#,cr tg#,cr ckt#,cr cos,acc cod,sel fac,sel sta#,sel tg#,sel ckt#,sel pat#,dialed number,code val'not found
为什么会提示找不到这些参数?怎样做可以达到目的?