매개 변수가있는 저장 프로 시저를 실행하기 위해 다음 ADO.Net C# 코드가 있습니다. 내가 프로파일을 관찰하면 그것은매개 변수에 'N'문자가없는 문을 작성하는 방법
exec uspSecurityGetChildActivitiesByInternalName @ActivityInternalName = N'INVWLVIEWEDIT'
로 나열하지만 매개 변수 값 이전 N
을 피할 필요
exec uspSecurityGetChildActivitiesByInternalName @ActivityInternalName = 'INVWLVIEWEDIT'
나는 그것을 수정해야합니다. 가능하면 원래의 추적에서
N
없이오고 있기 때문에 가능합니다 (소스 코드가 없습니다).
N
없이 프로파일 러에 exec
문을 만들기 위해 다음 C# 코드를 어떻게 수정할 수 있습니까?
참조
- Can SQL Profiler display return result sets alongside the query?
- Exception when AddWithValue parameter is NULL
코드 :
using (SqlCommand command = new SqlCommand(spName, connection))
{
WriteLogFunction(spStatement);
command.CommandType = System.Data.CommandType.StoredProcedure;
if (paramsList.Count > 0)
{
foreach (Parameter p in paramsList)
{
command.Parameters.AddWithValue(p.MyParameterName, p.MyVal);
}
}
string resultVal=String.Empty;
using (SqlDataReader reader = command.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
resultVal = reader.GetString(0);
}
}
}
//Other code
}
왜? 'N'은 값이 유니 코드로 전달됨을 의미합니다. –
@YuriyGalanter 기본 설정을 사용하려면이 값이 필요합니다. 유니 코드를 지정하지 않고 – Lijo
모든 매개 변수가 SP 문자열로 전달 되었습니까? SP에 정의 된 크기는 얼마입니까? –