ALTER PROCEDURE [dbo].[ST_StudentEvaluationUpdate]
-- Add the parameters for the stored procedure here
@StudentCode INT,
@TeachingMissionCode INT,
@FieldName VARCHAR(10),
@FieldValue FLOAT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE
@s VARCHAR(200)
-- Insert statements for procedure here
SET @s='UPDATE PJ_StudentCommentary SET ['+@FieldName+']=['+ltrim(@FieldValue)+'] WHERE StudentCode =['+ltrim(@StudentCode)+'] and TeachingMissionCode =['+ltrim(@TeachingMissionCode)+']'
EXEC(@s)
END
-- Add the parameters for the stored procedure here
@StudentCode INT,
@TeachingMissionCode INT,
@FieldName VARCHAR(10),
@FieldValue FLOAT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE
@s VARCHAR(200)
-- Insert statements for procedure here
SET @s='UPDATE PJ_StudentCommentary SET ['+@FieldName+']=['+ltrim(@FieldValue)+'] WHERE StudentCode =['+ltrim(@StudentCode)+'] and TeachingMissionCode =['+ltrim(@TeachingMissionCode)+']'
EXEC(@s)
END
alter PROCEDURE [dbo].[ST_StudentEvaluationUpdate]
-- Add the parameters for the stored procedure here
@StudentCode INT,
@TeachingMissionCode INT,
@FieldName VARCHAR(10),
@FieldValue FLOAT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE
@s VARCHAR(200)
-- Insert statements for procedure here
SET @s='UPDATE PJ_StudentCommentary SET ['+@FieldName+']=['''+@FieldValue+'''] WHERE StudentCode =['+@StudentCode+'] and TeachingMissionCode =['+@TeachingMissionCode+']'
EXEC(@s)
END
-- Add the parameters for the stored procedure here
@StudentCode INT,
@TeachingMissionCode INT,
@FieldName VARCHAR(10),
@FieldValue FLOAT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE
@s VARCHAR(200)
-- 后面是赋值怎么还加[]?????
SET @s='UPDATE PJ_StudentCommentary SET ['+@FieldName+']='+ltrim(@FieldValue)+' WHERE StudentCode ='+ltrim(@StudentCode)+' and TeachingMissionCode ='+ltrim(@TeachingMissionCode)
EXEC(@s)
END
-- Add the parameters for the stored procedure here
@StudentCode INT,
@TeachingMissionCode INT,
@FieldName VARCHAR(10),
@FieldValue FLOAT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE
@s VARCHAR(200)
-- 后面是赋值怎么还加[]?????
SET @s='UPDATE PJ_StudentCommentary SET ['+@FieldName+']='''+ltrim(@FieldValue)+''' WHERE StudentCode ='''+ltrim(@StudentCode)+''' and TeachingMissionCode ='''+ltrim(@TeachingMissionCode)+''''
EXEC(@s)
END
exec ST_StudentEvaluationUpdate @StudentCode=23381,@TeachingMissionCode=6703,@fieldName=N'SC43',@fieldValue=1
消息 207,级别 16,状态 1,第 1 行
列名 '23381' 无效。
消息 207,级别 16,状态 1,第 1 行
列名 '6703' 无效。
这个怎么会是列名嘛
--注意引号。
ALTER PROCEDURE [dbo].[ST_StudentEvaluationUpdate] @StudentCode INT,
@TeachingMissionCode INT,
@FieldName VARCHAR(10),
@FieldValue FLOAT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @s VARCHAR(200)
SET @s='UPDATE PJ_StudentCommentary SET ['+@FieldName+']='+ltrim(@FieldValue)+' WHERE StudentCode =
'''+@StudentCode+''' and TeachingMissionCode ='''+@TeachingMissionCode+''''
EXEC(@s)
END
exec ST_StudentEvaluationUpdate 23381,6703,N'SC43',=1 这样试试
还有个等号没去掉,呵呵
SET @s='UPDATE PJ_StudentCommentary SET ['+@FieldName+']=['+ltrim(@FieldValue)+'] WHERE StudentCode ='+ltrim(@StudentCode)+' and TeachingMissionCode ='+ltrim(@TeachingMissionCode)+''
EXEC(@s)