Microsoft MVP성태의 닷넷 이야기
Parameters.AddWithValue 와 Parameters.Add 의 차이점이 궁금합니다. [링크 복사], [링크+제목 복사]
조회: 6840
글쓴 사람
한예지 donator
홈페이지
첨부 파일
 

선생님 안녕하세요!

Parameters.AddWithValue("@ID", 1)
Parameters.Add("@ID", SqlDbType.Int, 4).Value = 1

AddWithValue와 Add의 차이점을 아래와 같이 이해해도 괜찮을까요?...

① Add 함수는 varchar 열인 경우에 데이터의 길이와 타입을 명시함으로서 사용자 입력을
엄격히 제한할 수 있다.
② AddWithValue 함수는 데이터를 (암시적 형변환을 통해) nvarchar 형태로 DB로 보낸다.

혹시 선생님은 어떤 경우에는 AddWithValue를 사용하고 어떤 경우에는 Add를 사용한다는 기준이 있으신가요?








[최초 등록일: ]
[최종 수정일: 1/25/2021]


비밀번호

댓글 작성자
 



2021-01-25 06시56분
대략 그렇게 이해하시면 됩니다. 단지 2번의 경우 nvarchar로 고정된 것은 아니고, 대상 칼럼의 타입에 변환이 되는 모든 타입을 허용합니다. 따라서 런타임 시에 nvarchar도 가능하고 varchar도 가능하다는 식의 좀 더 세세한 차이점은 있습니다.

사용은 개인 취향일 수 있습니다. (제 경우에는 명확하게 지정하는 Add를 더 선호합니다.)

Difference between Parameters.Add(string, object) and Parameters.AddWithValue
; https://stackoverflow.com/questions/9999751/difference-between-parameters-addstring-object-and-parameters-addwithvalue
정성태
2021-01-25 12시26분
[예지] 답변 감사합니다!!
[guest]

1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...
NoWriterDateCnt.TitleFile(s)
5617Edun2/25/20224349ArgumentOutOrRangeException에러 발생 [2]파일 다운로드1
5616csha...2/24/20224262readonly struct로 선언된 구조체를 특정 클래스에서 멤버변수로 가지는 경우 [1]
5615장성욱2/22/20226450SetThreadAffinityMask를 이용한 쓰레드 지정하는 방법에 대해 궁금합니다. [4]
5614민우2/22/20225812SSL 통신 문의 [6]
5613김인태2/22/20224302서버와 PC 간의 어플리케이션 성능 차이 [1]
5612팬입니다2/20/20224117Kastrel 서버 관련 [1]
5611차가워2/19/20224338stopWatch 늘어짐 문의 [3]
5610차가워2/18/20224223Stopwatch 늘어짐 문제 [1]
5609cs린이2/15/20224556c# 함수의 호출 방식에 대해 궁금합니다! [2]
5608지호2/10/20225088시작하세요 C# 8.0 중 제네릭타입의 IEnumerable [3]파일 다운로드1
5607이로운2/10/20224311안녕하세요. 궁금한게 있어서 질문드립니다. [1]
5605강성봉2/10/20224311TCP PSH flag 패킷 수신 에러 [1]
5604LW2/9/20224444VISUAL STUDIO 2019 ==> 2020 설치시 오류가 생겨서 문의드립니다. [3]
5603김진명2/9/20225737C# 10.0 출간은 언제쯤 계획하고 계신가요? [1]
5602신갑영2/8/20224543윈폼에 대해서 질문 드립니다. [1]
5601김인태2/4/20224773setup project 관련 [7]
5600itkim2/3/20225645윈도우 서버 계정 패스워드 인증 문의 [5]
5599레드골드2/3/20226146c#으로 ms word 제어 가능할까요? [6]
5598jaew...2/2/20224825Dictionary는 참조형식인가요?? [1]
5597재원2/2/20225166c# 9.0에 대한 내용을 받을 수 있나요? [1]
5596kss1/26/20224887듀얼 모니터 환경에서 wpf 프로그램 크기 변경 [2]
5594mira...1/25/20224539안녕하세요 try~catch 와 SuspendLayout~ResumeLayout 간 호출 문의드립니다! [2]
5593C#스터디1/12/20225464TaskAwaiter 구현 질문 입니다. [1]
5591유지킴12/24/20215063outofmemory in 32bit [2]파일 다운로드1
5590kss12/23/20214509포인터 메모리 에러 [1]
5589초급12/22/20214707c# -> 라즈베리파이(db 접속)시 에러 발생 [7]
1  2  3  4  5  6  7  8  9  10  11  12  [13]  14  15  ...