SqlCommandBuilder.GetUpdateCommand.CommandText.ToString()
SqlCommandBuilder.GetInsertCommand.CommandText.ToString()
SqlCommandBuilder.GetDeleteCommand.CommandText.ToString()
SqlCommandBuilder.GetInsertCommand.CommandText.ToString()
SqlCommandBuilder.GetDeleteCommand.CommandText.ToString()
GetUpdateCommand是方法,改成SqlCommandBuilder.GetDeleteCommand().CommandText后,得到的结果不是实际的SQL语句,而是包含?的语句。
DataAdapter.Update()执行时可以在DataAdapter中加入OleDbRowUpdatingEventHandler事件处理程序,我们就可在数据库更新时来写日志文件了。代码如下:
DataAdapter.RowUpdating += new System.Data.OleDb.OleDbRowUpdatingEventHandler(this.Crruent_CommandText);//为DataAdapter添加事件private void Crruent_CommandText( object sender , System.Data.OleDb.OleDbRowUpdatingEventArgs e )
{
string strCommandText = "" ;
System.Data.OleDb.OleDbParameterCollection OleDbParameters = e.Command.Parameters ;
string[] ArrCommandText = e.Command.CommandText.Split('?') ;
for( int ParamIndex = 0 ; ParamIndex < OleDbParameters.Count ; ParamIndex++ )
{
strCommandText += ArrCommandText[ParamIndex] + OleDbParameters[ParamIndex].Value.ToString() ;
}
strCommandText += ArrCommandText[OleDbParameters.Count] ;
//此处即可以把strCommandText写入你的日志文件了 ;
}