在sql server 2008命令行中执行带输入参数(条件查询)的存储过程,该怎么解决

在sql server 2008命令行中执行带输入参数(条件查询)的存储过程
我在sql server 2008中创建了一个存储过程如下:USE [hyManage]
GO
/****** Object:  StoredProcedure [dbo].[Proc_saleTotle]    Script Date: 12/08/2014 11:00:36 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[Proc_saleTotle]
(@strWhere  nvarchar(1500))  --条件
AS
BEGIN
select count(ID) totalNum,Province from T_SalesClient 
     where 1=1 and Status=1 and HisStatus=1
     -- and ClientName='上海'
     +@strWhere
     
    group by Province
END
其中输入参数@strWhere,我想在调用的时候输入条件查询,如and ClientName='上海',用
exec Proc_saleTotle @strWhere='and ClientName=上海';时出现错误,消息 245,级别 16,状态 1,过程 Proc_saleTotle,第 5 行
在将 nvarchar 值 'and ClientName=上海' 转换成数据类型 int 时失败。

语句在sql server 2008命令行中执行带输入参数(条件查询)的存储过程,该怎么解决
------解决思路----------------------
ClientName是int类型的?
------解决思路----------------------
ALTER proc [dbo].[Proc_saleTotle]
(@strWhere  nvarchar(1500))  --条件
AS
BEGIN
DECLARE @sql varchar(max)
SET @sql = 'select count(ID) totalNum,Province from T_SalesClient 
     where 1=1 and Status=1 and HisStatus=1
     '+@strWhere+'
    group by Province'
EXEC(@sql)
END

------解决思路----------------------
这是动态脚本,你可以将@sql   print出来看看就知道啦