[SQL] 어떻게 C #에서 NVARCHAR (최대) SqlParameter에를 만드는 방법? [복제]
SQL어떻게 C #에서 NVARCHAR (최대) SqlParameter에를 만드는 방법? [복제]
동적으로 작업 번호 (따라서 길이를 알 수없는)의 문자열을 생성하는 DataTable을 다시 끌어 다음 코드 저장 프로 시저를 사용하여 문자열 매개 변수 @JobNumbers 입력을 가지고있다 :
using (SqlConnection connection = new SqlConnection(con))
{
SqlCommand cmd = new SqlCommand("dbo.Mystoredprocedure", connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@JobNumbers", SqlDbType.VarChar, 4000);
cmd.Parameters["@JobNumbers"].Value = JobNumber;
SqlDataAdapter da = new SqlDataAdapter(cmd);
connection.Open();
da.Fill(JobDetails);
}
당신은 내가 현재 500 개 작업 번호를 주위에 걸릴 충분히해야한다 충분해야한다 4000의 길이에 JobNumber 매개 변수를 설정 한 볼 수 있듯이. 그러나, 그것은 이상한 기회에 더해야 할 가능성이있다. 그래서 궁금 해서요, (최대) NVARCHAR에 해당하는 SQL 매개 변수 형식으로 매개 변수를 설정하는 방법은 무엇입니까?
나는 (SqlCommand를? 매개 변수를 전달하는 가장 좋은 방법은 무엇입니까) 여러 유사한 질문을 살펴 했어 그러나 아무도는 특히 당신이 (또는 수 없습니다)이 작업을 수행 할 수 있는지 여부를 말할. 둘째, 내가 (최대) 따라서 아마도 내가 전혀 C #에서 길이를 설정할 필요가 없습니다 것 NVARCHAR에 저장 프로 시저에 @JobNumber 매개 변수를 설정하면이 작업을 수행하는 데에도 필요하다? 내가 이렇게 할 경우 SqlCommand를 매개 변수를 추가 할 때 "SqlDbType"와 "크기"를 사용해야하는 경우이 질문에 제안이 잠재적 인 성능 문제가됩니다?
해결법
-
==============================
1.이것은 당신이 명시 적으로 NVARCHAR (최대)를 설정하는 방법입니다 :
이것은 당신이 명시 적으로 NVARCHAR (최대)를 설정하는 방법입니다 :
cmd.Parameters.Add("@JobNumbers", SqlDbType.NVarChar, -1);
당신은 정말 성능에 관심 있다면 당신은 정수의 테이블을 통과하는 것을 고려할 수 있습니다 : https://stackoverflow.com/a/10779593/465509
from https://stackoverflow.com/questions/21087950/how-to-create-nvarcharmax-sqlparameter-in-c by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 어떻게 MySQL은 날짜의 평균을 만들 수 있습니까? (0) | 2020.06.14 |
---|---|
[SQL] SQL 서버 오류 "값의 데이터 정렬은 데이터 정렬 충돌로 인해 해결되지 않은 때문에 암시 적 변환." (0) | 2020.06.14 |
[SQL] 결과를 표시하지 않고 SQL 쿼리를 실행하는 방법 (0) | 2020.06.14 |
[SQL] 왜 30 CAST를 사용하는 경우 VARCHAR의 기본 길이 무엇입니까? (0) | 2020.06.14 |
[SQL] MS SQL 예외 : '@ P0'근처의 구문이 잘못되었습니다 (0) | 2020.06.14 |