procedure TfrmExcel.CreateTmpTable;
begin
with tblTmp do
begin
Active := False;
TableName := MakeTempFileName;
with FieldDefs do
begin
Clear;
Add('CONTENT', ftString, 254, False);
Add('MEMO', ftString, 254, False);
end;
CreateTable;
Open;
end;end;//////////////// with qrySMSExs do //利用query
begin
DatabaseName := DM.Database1.DatabaseName;
Sql.Clear;
Sql.Add('insert into SMS(ID, INX, CONTENT,MEMO)');
Sql.Add('values (:ID, :INX , :CONTENT, :MEMO)');
ParamByName('ID').AsString := CATALOG_ID ;
ParamByName('INX').AsInteger := INX ; showmessage(tblTmp.FieldByName('CONTENT').AsString);
showmessage(tblTmp.FieldByName('MEMO').AsString);
ParamByName('CONTENT').AsString := tblTmp.FieldByName('CONTENT').AsString;
ParamByName('MEMO').AsString := tblTmp.FieldByName('CONTENT').AsString;
// ParamByName('CONTENT').AsString := tblTmp.FieldValues['CONTENT'] ;
// ParamByName('MEMO').AsString := tblTmp.FieldValues['MEMO'];
ExecSQL;
end ;ExecSQL时 为何提示类型不匹配,而下边这段代码又可以正常插入数据
with tblFromExcel do //利用表
begin
DatabaseName := DM.Database1.DatabaseName;
TableName := 'SMS' ;
Open;
Append;
FieldValues['ID'] := CATALOG_ID ;
FieldValues['INX'] := INX;
FieldValues['CONTENT'] := tblTmp.FieldValues['CONTENT'] ;;
FieldValues['MEMO'] := tblTmp.FieldValues['MEMO'] ; ;
//try
Post;
end ;
begin
with tblTmp do
begin
Active := False;
TableName := MakeTempFileName;
with FieldDefs do
begin
Clear;
Add('CONTENT', ftString, 254, False);
Add('MEMO', ftString, 254, False);
end;
CreateTable;
Open;
end;end;//////////////// with qrySMSExs do //利用query
begin
DatabaseName := DM.Database1.DatabaseName;
Sql.Clear;
Sql.Add('insert into SMS(ID, INX, CONTENT,MEMO)');
Sql.Add('values (:ID, :INX , :CONTENT, :MEMO)');
ParamByName('ID').AsString := CATALOG_ID ;
ParamByName('INX').AsInteger := INX ; showmessage(tblTmp.FieldByName('CONTENT').AsString);
showmessage(tblTmp.FieldByName('MEMO').AsString);
ParamByName('CONTENT').AsString := tblTmp.FieldByName('CONTENT').AsString;
ParamByName('MEMO').AsString := tblTmp.FieldByName('CONTENT').AsString;
// ParamByName('CONTENT').AsString := tblTmp.FieldValues['CONTENT'] ;
// ParamByName('MEMO').AsString := tblTmp.FieldValues['MEMO'];
ExecSQL;
end ;ExecSQL时 为何提示类型不匹配,而下边这段代码又可以正常插入数据
with tblFromExcel do //利用表
begin
DatabaseName := DM.Database1.DatabaseName;
TableName := 'SMS' ;
Open;
Append;
FieldValues['ID'] := CATALOG_ID ;
FieldValues['INX'] := INX;
FieldValues['CONTENT'] := tblTmp.FieldValues['CONTENT'] ;;
FieldValues['MEMO'] := tblTmp.FieldValues['MEMO'] ; ;
//try
Post;
end ;
解决方案 »
- 查询excel每列重复值,再删除
- delphi里是不是不能进行时间循环?纳闷!
- 在c/s客户端取服务器上音频文件播放的问题,请有这方面设计经验的兄弟指点一下!!(项目中!)
- 算法求救!!!!高手帮忙阿……
- c写的Dll中有这样的函数定义int FAR PASCAL EXPORT Init(char *Number);如何引用
- ACCESS表一字段有:日期\入货数量\出货数量等字段,现希望能按任意指定时间内求查询每日的进货和出货的汇总 和结余
- 广东有哪些公司名声很差
- 对Wave格式的录音和播放(new) //copy_paste
- 求高手帮忙,delphi运行SetEntriesInAcl函数出错问题
- 请问有谁会相信下面的代码会出错?
- 关于ADOCONNECTION的问题,请各位高手帮忙看看了。
- delphi7如何通过IP地址连接远程服务器上的数据库
ParamByName('MEMO').value:=...... 不用asstring
Sql.Add('values (:ID, :INX , :CONTENT, :MEMO)');
ParamByName('ID').DataType := ftString;
ParamByName('ID').ParamType := ptInput;
ParamByName('INX').DataType := ftInteger;
ParamByName('INX').ParamType := ptInput;
ParamByName('CONTENT').DataType := ftString;
ParamByName('CONTENT').ParamType := ptInput;
ParamByName('MEMO').DataType := ftString;
ParamByName('MEMO').ParamType := ptInput;
....