ADOQUERY 添加新字段,弹出提示(commandText does not return a result set )。 ADOQUERY的SQL 属性 调用存储过程,跟踪存储过程是对的。 但是和其关联的DBGrid控件,由于该字段没有添加到ADOQUERY . 导致无法显示。对数据库这块不怎么熟,大家看下有方法解决吗。上网查过原因,提到open 和 execsql 。我的程序是返回记录的。还有就是我只是双击 ADOQUERY ,添加字段。和程序本身有多大关系?
调试欢乐多
可以用ADOStoredProc
如果仅仅是添加字段报错,应该是Active设为了true
2.在adoquery上按右键, 选择fields editor
3.在弹出的窗口上按右键, 选择add all fields
ExecSQL不返回结果操作(delete, update,insert等)
不会根据查询条件变化。而且不能将AdoQuery 的Active 属性设为True,选择时又提示“commandText does not return a result set ”。 我的SQL :
exec NodeInfo_Div
:FunctionType(存储过程具体是:)create Proc NodeInfo_Div @FunctionType int
as
begin
set nocount on
CREATE TABLE #temp1 (
[CNAME] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL,
[NODEID] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL,
[CIP] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL,
[CMAC] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[DWLASTONLINETIME] [datetime] NOT NULL,
[CUSERINFO_NAME] [varchar] (16) COLLATE Chinese_PRC_CI_AS NULL,
[CUSERINFO_ID] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,
[CUSERINFO_GROUP] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,
[CUSERINFO_TEL] [varchar] (48) COLLATE Chinese_PRC_CI_AS NULL ,
[CSN_HD] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL,
[CUSERINFO_OTHER] [varchar] (128) COLLATE Chinese_PRC_CI_AS NULL
)
CREATE TABLE #temp2 (
[CNAME] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL,
[NUM] [int] NOT NULL DEFAULT (0) )
if @FunctionType = 1
begin
declare @UpdateNode_Info varchar(512)
set @UpdateNode_Info = 'insert into #temp1 select distinct a.CNAME,dbo.f_int2hex(a.DWNODEID) as NODEID,a.CIP,a.CMAC,a.DWLASTONLINETIME,a.CUSERINFO_NAME,a.CUSERINFO_ID,a.CUSERINFO_GROUP,a.CUSERINFO_TEL,a.cSN_HD,a.CUSERINFO_OTHER FROM CLTList a,ComputerTable b where a.CGuid=b.Guid'
exec(@UpdateNode_Info)
select * from #temp1
end
else if @FunctionType = 2
begin
declare @StatisticsNode_Info varchar(255)
set @StatisticsNode_Info ='insert into #temp2 select c.cname,count(a.dwgroupid) as groupnum from CLTList a ,ComputerTable b,CGroup c where a.cGuid=b.guid and a.dwgroupid=c.dwnodeid group by c.cname'
exec(@StatisticsNode_Info)
select * from #temp2
end
else if @FunctionType = 3
begin
declare @UpdateAllNode_Info varchar(512)
set @UpdateAllNode_Info = 'insert into #temp1 select distinct a.CNAME,dbo.f_int2hex(a.DWNODEID) as NODEID,a.CIP,a.CMAC,a.DWLASTONLINETIME,a.CUSERINFO_NAME,a.CUSERINFO_ID,a.CUSERINFO_GROUP,a.CUSERINFO_TEL,a.cSN_HD,a.CUSERINFO_OTHER FROM CLTList a'
exec(@UpdateAllNode_Info)
select * from #temp1
end
end