字符串变量为:AdoQ.SQL
AdoQ.SQL.Text:='SELECT * FROM RENSHI WHERE ZT=''在职''';    //有一对单引号引住了  在职  两字。cmd1.CommandText:=
'p_exporttb '+
'@sqlstr='''+adoq.SQL.Text+''''+
',@path='''+dlgsave1.GetNamePath+''''+
',@fname='''+dlgsave1.FileName+''''+
',@sheetname='''+'ABC_HR'+'''';
@sqlstr 参数是字符变量,接收AdoQ.SQL.Text时有错误,意思是 在职 两字有问题。
因为 在职 虽然在AdoQ.SQL.Text是用一对双引号括起来,但是他表示的是一对单引号。或者说明白点我的@sqlstr那一行应该为: '@sqlstr='SELECT * FROM RENSHI WHERE ZT=''在职'''
而不是'@sqlstr='SELECT * FROM RENSHI WHERE ZT='在职''