小编Jam*_*sBB的帖子

过程需要'ntext/nchar/nvarchar'类型的参数'@params'

这是我的存储过程:

ALTER PROCEDURE [dbo].[sp_Update_Projecttijden]
   @tabelnaam                    NVARCHAR(30)                , 
   @starttijd                  DATETIME,
   @eindtijd                  DATETIME,       
   @tijd                    FLOAT,
   @startid                 INT,
   @eindid          INT        
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here
-- DECLARE @DATEVARCHAR NVARCHAR(4000);
DECLARE @SQLCommand NVARCHAR(MAX) = N'
    UPDATE ' + QUOTENAME(@tabelnaam) + N'
    SET Start = @starttijd
      , Einde = @eindtijd
      , Tijd = @tijd
      , StartID = @startid
      , EindID = @eindid

    WHERE …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

7
推荐指数
1
解决办法
9510
查看次数

必须使用动态tablename声明标量var ...

我试图在以下SQL中使用变量tablename,但我一直在使用

必须声明标量变量@Projectnr

从C#程序执行.

这些值是由程序传递的,我确信这是在这个SQL的某个地方混淆了......

这是SQL:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[sp_Insert_ProjectWerktijden]

   @Projectnr               VARCHAR(50),
   @Tasknr                  VARCHAR(50),
   @Datum                   DATETIME,
   @Startuur                DATETIME,
   @Einduur                 DATETIME,
   @WerktijdDEC             float,
   @TijdTijd                DATETIME,
   @Scanner                 VARCHAR(50),
   @StartID                 int,
   @EindID                  int,
   @Functiecode             int,
   @Naam                    varchar(100),
   @table                   NVARCHAR(50)



AS
BEGIN 
  SET NOCOUNT ON 
DECLARE @sql NVARCHAR(MAX)
SET @sql= 'INSERT INTO **TABLE**
  ( 
        Projectnr, 
        Taaknummer,
        Datum,
        Start,
        Einde,
        Tijd,
        TijdTijd,
        Scanner,
        StartID,
        EindID,
        Functiecode,
        Naam
)
VALUES
(
@Projectnr,@Tasknr,@Datum,@Startuur,@Einduur,@WerktijdDEC,@TijdTijd,@Scanner,@StartID,@EindID,@Functiecode,@Naam
)
';
SET @sql = REPLACE(@sql, '**TABLE**', @table); …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

1
推荐指数
1
解决办法
104
查看次数

标签 统计

sql ×2

sql-server ×2

c# ×1