DECLARE @gz char(8),@aa varchar(30),@cj char(20),@bh char(4)
set @gz = 'Jb'
set @cj='一厂e区'
set @bh='1'
set @aa='select '+@gz+' from DJB where cjmc='+@cj+' and bh='+@bh+''
exec(@aa)语句如上,但是查询出来的结果没有受到where条件的限制。
set @gz = 'Jb'
set @cj='一厂e区'
set @bh='1'
set @aa='select '+@gz+' from DJB where cjmc='+@cj+' and bh='+@bh+''
exec(@aa)语句如上,但是查询出来的结果没有受到where条件的限制。
解决方案 »
- 第三方软件开发组件产品下载及试用
- 用Delphi如何控制Excel的表进行排序?
- 请问如何让自己做的程序能够自动适应不同分辨率的屏幕呢? 请帮忙看看,在此谢谢了
- @@@@@请问:0-,0-1-,0-2-,0-1-1-,0-1-2-。。。这样的数据结构如何用TreeView加载?多谢!@@@@@
- 圖形設計高手請進
- 编译时老是出现错误:[fataL error] internal error:L470,不知是为什么?请指教!
- 用什么方法让combobox只能选择,不能输入?
- 关于读取MS SQL中Pubs所有表名的问题!在线等待!
- 怎么把自己的共享软件小蛋糕做大?
- 菜菜鸟送分题,高手菜鸟都请进!-------- 编程爱好者
- 能否实现F7按住不放的效果?
- 请问这个问题如何解决??
DECLARE @gz char(8),@aa varchar(30),@cj char(20),@bh char(4)
set @gz = 'Jb'
set @cj='一厂e区'
set @bh='1'
set @aa='select '+@gz+' from DJB where cjmc='+@cj+' and bh='+@bh+''
print @aa
从输出结果看@aa的长度不够,被自动截取!
一般来说,做为SQL的结果变量,应设为Varchar(8000)
在SQL 2005中,最好使用Varchar(Max)
set @gz = 'Jb'
set @cj='一厂e区'
set @bh='1'
set @aa='select '+@gz+' from DJB where cjmc='''+@cj+''' and bh='''+@bh+''''
exec(@aa)
谢谢,以上语句在查询分析器中通过,但是写入delphi 时,用adoquery.sql.add引用时,(其实也就是引号问题)
set @aa='select '+@gz+' from DJB where cjmc='''+@cj+''' and bh='''+@bh+''''老是有问题。
请帮我写出delphi中正确的语句吧