关于获取自动保存数据的SQL代码的问题? ( 积分: 50 )

  • 主题发起人 主题发起人 Flashcqxg
  • 开始时间 开始时间
F

Flashcqxg

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi&nbsp;中可以获取保存数据的SQL语句吗???<br>注意:不是用sql.add写入的,是用数据感知控件来保存的时候的SQL语句.
 
那是ADO自动产生SQL语句。
 
我能不能够获取这条SQL的信息呢?<br>谢谢。
 
能,在ADOCONNECTION的&nbsp;&nbsp;OnConnExecuteComplet事件里可以实现,下面代码得到更新语句中的表名。<br>procedure&nbsp;TConnExcute.OnConnExecuteComplet(Connection:&nbsp;TADOConnection;<br>&nbsp;&nbsp;RecordsAffected:&nbsp;Integer;&nbsp;const&nbsp;Error:&nbsp;Error;<br>&nbsp;&nbsp;var&nbsp;EventStatus:&nbsp;TEventStatus;&nbsp;const&nbsp;Command:&nbsp;_Command;<br>&nbsp;&nbsp;const&nbsp;Recordset:&nbsp;_Recordset);<br>var&nbsp;SqlTxt,TableName:String;<br>&nbsp;&nbsp;i:Integer;<br>begin<br>&nbsp;&nbsp;SqlTxt:=Command.CommandText;<br>&nbsp;&nbsp;TableName:='';<br>&nbsp;&nbsp;if&nbsp;StrIsBegin('Update',SqlTxt)&nbsp;or<br>&nbsp;&nbsp;&nbsp;&nbsp;StrIsBegin('Insert',SqlTxt)&nbsp;or<br>&nbsp;&nbsp;&nbsp;&nbsp;StrIsBegin('Delete',SqlTxt)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete(SqlTxt,1,6);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SqlTxt:=Trim(SqlTxt);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;Pos('FROM&nbsp;',UpperCase(SqlTxt))&gt;0&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete(SqlTxt,1,4);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SqlTxt:=Trim(SqlTxt);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;Pos('INTO&nbsp;',UpperCase(SqlTxt))&gt;0&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete(SqlTxt,1,4);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SqlTxt:=Trim(SqlTxt);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;Not&nbsp;StrIsEmpty(SqlTxt)&nbsp;then&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i:=1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;While&nbsp;(i&nbsp;&lt;=&nbsp;Length(SqlTxt))&nbsp;and&nbsp;(Not&nbsp;StrIsEmpty(Sqltxt))&nbsp;do&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TableName:=TableName+SqlTxt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inc(i);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>end;
 
多人接受答案了。
 
后退
顶部