Sql.Add('Insert into Table1(F1,F2,F3) select :MNo,:MDate,:MMan');这条SQL是什么意思 (100

F

fphuang

Unregistered / Unconfirmed
GUEST, unregistred user!
Sql.Add('Insert into Table1(F1,F2,F3) select :MNo,:MDate,:MMan');这条SQL是什么意思 (100分)<br />Sql.Add('Insert into Table1(F1,F2,F3) select :MNo,:MDate,:MMan');这条SQL是什么意思
 
还是自己找吧
 
微软的东西很少有开放的,呵呵。
 
其实 这样写还不入
Insert Into Table1(F1,F2,F3) values:)MNO,:MDate,:MMan)
来的明白
 
改题了吗?
这条的意思是插入数据
Sql.Add('Insert into Table1(F1,F2,F3) Value :)MNo,:MDate,:MMan)');
好象是这样 ~~~~~ ~~~~
 
我还真没见过这种写法
能执行吗??????
请楼主告之
 
不错, 我也没见过,有结果吗?
 
三不象啊
 
确实如此?我也没见过这样的语句.
 
1、to yczjs:
我是改题目了
2、是可以执行的,不过我感觉foxyxyan、yczjs说得是正确的!
 
此语句的执行效果和Insert Into Table1(F1,F2,F3) values:)MNO,:MDate,:MMan)
是一样的吗???
如果是又学到了一招!
 
to 52free
我也不知道,我们可以讨论!
 
应该是一样的
但没必要这样写啊
 
我又实验了一下,foxyxyan、yczjs说得好象不对,我改成那个样子,就报错了
 
请将这条代码的前后代码都贴出来。
最好完整一点,给大家看看。这样就明白了。
 
Qry2.Close;
Qry2.SQL.Clear;

Qry2.SQL.Add('Insert into Table1(F1,F2,F3) select :DNo,:pNo,:pQty');

Qry2.Params[0].AsString := SNo;
Qry2.Params[1].AsString := Qry1.Fields[0].AsString;
Qry2.Params[2].AsFloat := Qry1.Fields[1].AsFloat;

Qry2.ExecSQL;
 
学了一找
 
其实这个问题并不复杂.
Qry2.SQL.Add('Insert into Table1(F1,F2,F3) select :DNo,:pNo,:pQty');是定义了三个参数,目的是便于动态查询.如果你看Qry2的参数选项的话,就会发现自动生成了三个参数.
Qry2.Params[0].AsString := SNo;
Qry2.Params[1].AsString := Qry1.Fields[0].AsString;
Qry2.Params[2].AsFloat := Qry1.Fields[1].AsFloat;
是在程序运行的时候为参数赋值,实现了动态查询.
其实就相当于
Qry2.SQL.Add('Insert into Table1(F1,F2,F3) values(SNo,Qry1.Fields[0].AsString,Qry1.Fields[1].AsFloat);


 
Qry2.Close;
Qry2.SQL.Clear;

Qry2.SQL.Add('Insert into Table1(F1,F2,F3) values:)DNo,:pNo,:pQty)');

Qry2.Params('DNo').AsString := SNo;
Qry2.Params('PNo').AsString := Qry1.Fields[0].AsString;
Qry2.Params('PQty').AsFloat := Qry1.Fields[1].AsFloat;

Qry2.ExecSQL;
 
多人接受答案了。
 
顶部