MSSQL UTF8 UPDATE 0 7 1,246

by 고재원 [SQL Query] [2022.05.26 12:59:42]


CREATE PROCEDURE dbo.UserInsertWeek (    
 @Seq INT    
 ,@nContent NTEXT      
 )    
AS
BEGIN
    UPDATE weeks_vina SET np_xuannam = N'"&@nContent&"'  WHERE Seq = @Seq
END

이렇게 하면 DB에 저장되는 값이 : "&@nContent&" 
이렇게 저장됩니다.

실제 입력한 값으로 어떻게 저장하나요??
by 우리집아찌 [2022.05.26 13:06:19]
CREATE PROCEDURE dbo.UserInsertWeek (    
 @Seq INT    
 ,@nContent NTEXT      
 )    
AS
BEGIN
    UPDATE weeks_vina SET np_xuannam = @nContent&  WHERE Seq = @Seq
END

by 고재원 [2022.05.26 13:43:57]
UPDATE weeks_vina SET np_xuannam = @nContent&  WHERE Seq = @Seq

UPDATE weeks_vina SET np_xuannam = N@nContent& WHERE Seq = @Seq

N을 붙이지 않아도 되나요 ?? 이렇게 하면 한글이 모두 깨져서 입력 됩니다.


by 우리집아찌 [2022.05.26 15:54:29]

앗 오타네요 & 빼셔야합니다.


by 마농 [2022.05.26 14:18:05]

뒤에 & 는 빼야 할 것 같구요.
NTEXT 라는 타입 자체에 이미 N 이 붙어 있네요.
프로시져 호출할 때 값이 어떤 방식으로 입력되나요?


by 고재원 [2022.05.26 14:39:45]

모두페이지 UTF8 선언

DB는 username ntext

파라메터 넘기는 부분

.Parameters.Append .CreateParameter("@nContent", adLongVarChar, adParamInput, LenB(nContent), nContent)

CREATE PROCEDURE dbo.UserInsertWeek (    
 @Seq INT    
 ,@nContent NTEXT      
 )    
AS
BEGIN
    UPDATE weeks_vina SET np_xuannam = N'"&@nContent&"'  WHERE Seq = @Seq
END

결과는 "&@nContent&" 이렇게 DB에 저장 됩니다.

UPDATE weeks_vina    SET np_xuannam = @nContent   WHERE Seq = @Seq

이렇게 하면 저장은 되나 한글이 모두 깨짐.

?덈뀞?섏꽭??br><div></div>


by 마농 [2022.05.26 15:19:48]

adLongVarChar 대신 adWChar 로 바꿔 보세요.


by 고재원 [2022.05.26 15:46:36]

감사합니다. ^^

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입