向大虾提一个关于sql的问题

EXECusp_InsertPosition,'研发部nvarchar(50),产品研发nvarchar(50)'usp_Insert是存储过程,Position是表名,... EXEC usp_Insert Position,'研发部 nvarchar(50),产品研发 nvarchar(50)'

usp_Insert是存储过程,Position是表名,研发部 nvarchar(50),产品研发 nvarchar(50)'是我要插入的内容,但是出错了,请教大虾帮忙
ALTER PROCEDURE [dbo].[usp_Insert]
(
@TableCondition nvarchar(50),
@ValueCondition nvarchar(max)=null
)
AS
DECLARE @SQL nvarchar(max)
SET @SQL = 'INSERT INTO ['+ @TableCondition + ']'

IF @ValueCondition IS NOT NULL AND LEN(@ValueCondition)>0
BEGIN
SET @SQL = @SQL + 'VALUES ('+@ValueCondition+')'
END

EXEC SP_EXECUTESQL @SQL
SELECT @@IDENTITY
RETURN
我觉得这个存储过程语句是有问题的,正在百度提问解决,恳请大虾帮忙看看,这个存储过程是通用存储过程,另外在C#语句中的代码是
string sql = "usp_Insert";
string valueCondition = string.Format(@"DepartmentName ='{0}',DepartmentDescription ='{1}'", department.DepartmentName, department.DepartmentDescription);
SqlParameter[] paras =
{
new SqlParameter("@TableCondition","Department"),
new SqlParameter("@ValueCondition",valueCondition)
};
ExecuteNonQuery语句
展开
 我来答
百度网友bfb9204
2012-08-16 · TA获得超过718个赞
知道小有建树答主
回答量:1008
采纳率:66%
帮助的人:452万
展开全部
EXEC usp_Insert Position,'研发部','产品研发' --这样写才正确,传递两个参数
不用加nvarchar(50)
更多追问追答
追问
如果在Position表中,有一个自增长的Id列,这样写还对吗?
追答
要是有一个自增ID列,该列就不能手动插入数据
把你的存储过程的内容让我看看,还有就是你要实现什麽功能?
shy_lzf
2012-08-15 · TA获得超过326个赞
知道小有建树答主
回答量:411
采纳率:0%
帮助的人:231万
展开全部
出错提示是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式