set @Nsql=N'Select @RecCount=count(*) from '+cast(@DetailTableName as nvarchar(4000)) +N' where '+
cast(@DetailParentID as nvarchar(4000))+N'='+cast(@MainIdValue as Nvarchar(4000))
--Exec (@Sql)
Exec sp_Executesql @Sql, N'@RecCount int'就是这里老是不对,我看联机丛书,好像是在构造的查询里面放一些参数是可以的吗?老是提示我:
服务器: 消息 214,级别 16,状态 2,过程 sp_executesql,行 27
过程需要参数 '@statement' 为 'ntext/nchar/nvarchar' 类型。

解决方案 »

  1.   

    上边Exec sp_executesp @NSql,这个我改正了,现在提示我:
    服务器: 消息 8178,级别 16,状态 5,行 0
    [Microsoft][ODBC SQL Server Driver][SQL Server]被准备语句 '(@RecCount int)Select @RecCount=count(*) from tblAddrbookDetails' 需要参数 @RecCount,但未提供该参数。
    ODBC: 消息 0,级别 16,状态 1
    [Microsoft][ODBC SQL Server Driver]通讯链接失败
      

  2.   

    ODBC請重新再設置一下,更改服務器名稱有時會這樣?
      

  3.   

    set @Nsql=N'Select @RecCount=count(*) from '+cast(@DetailTableName as nvarchar(4000)) +N' where '+
    cast(@DetailParentID as nvarchar(4000))+N'='+cast(@MainIdValue as Nvarchar(4000))
    --Exec (@Sql)
    Exec sp_Executesql @NSql, N'@RecCount int output',@RecCount output
    错了不管!!哈,哈哈,哈哈哈......