很急,主表可以保存,从表不能保存
jh 主表 spjhfb 从表
with DataM.ADOQueryjh do
begin
Close;
Sql.Clear;
Sql.Text:= 'insert into jh(单号,客户名称,日期) values (N ' ' '+Trim(Edit1.Text)+ ' ' ', ' ' '+Trim(Edit3.Text)+ ' ' ', ' ' '+Edit2.Text+ ' ' ') ';
ExecSql;
end;
with DataM.ADOQueryjh do
begin
Close;
//pen;
Sql.Text:= 'select * from jh ';
open;
end;
with DataM.ADOQueryspjhfb do
begin
Close;
Sql.Clear;
//Sql.Text:= 'select * from jh,spjhfb where jh.单号=spjhfb.单号 ';
Sql.Text:= 'insert into spjhfb(单号,客户名称,日期) values(N ' ' '+DataM.ADOQueryjh.FieldByName( '单号 ').AsString+ ' ' ', ' ' '+DataM.ADOQueryjh.FieldByName( '客户名称 ').AsString+ ' ' ', ' ' '+DateToStr(StrToDate(DataM.ADOQueryjh.FieldByName( '日期 ').AsString))+ ' ' ') ';
ExecSql;
//open;
end;
DataM.ADOConn.BeginTrans;
try
DataM.ADOQueryspjhfb.UpdateBatch(arAll);
DataM.ADOQueryjh.UpdateBatch(arAll);
DataM.ADOConn.CommitTrans;
except
DataM.ADOConn.RollbackTrans;
raise Exception.Create( '操作返回 ');
end;
[解决办法]
定义数据库的时候两个表之间有没有什么约束关系啊
[解决办法]
提示什么错误
[解决办法]
在DataM.ADOQueryspjhfb的属性中设置DataSource了吗
[解决办法]
//open;
你数据集没打开,把数据集打开,
[解决办法]
主从表保存 没有什么特殊的做法
就是保存主 保存从
只要约束不冲突
都可以成功的
我估计还是你的语句问题
[解决办法]
里面的漏洞太多,一则没有打开,二则没有POST(插入进去了,没有作保存),当然是存在进去
with DataM.ADOQueryjh do
begin
Close;
Sql.Clear;
open;/首先的打开
Sql.Text:= 'insert into jh(单号,客户名称,日期) values (N ' ' '+Trim(Edit1.Text)+ ' ' ', ' ' '+Trim(Edit3.Text)+ ' ' ', ' ' '+Edit2.Text+ ' ' ') ';
// ExecSql;//此处应当不用这个方法吧,此方法不返回值;
post;//应加上post方法,将插入的数据保存
end;
[解决办法]
try
DataM.ADOQueryspjhfb.UpdateBatch(arAll);
DataM.ADOQueryjh.UpdateBatch(arAll);
DataM.ADOConn.CommitTrans;
except
DataM.ADOConn.RollbackTrans;
raise Exception.Create( '操作返回 ');
end;
这写语句有问题,你自己写SQL语句更新的时候就不能再写UpdateBatch这种方法,UpdateBatch是说你暂时保存在内存中,然后调用UpdateBatch把所有数据更新到数据库中,可以参考李维的ADO书。
另外楼主下次发帖注意换行和代码格式,要不然太难看了。
[解决办法]
字段类型一样吗?
你的N要在单引号内吧