ADO.NET을 한번도 사용하지 않았습니다. 저는 수동으로 실행하면 학생 번호를 받고 단일 학생을 반환하는 저장된 proc 파일을 가지고 있습니다.Stored Proc는 코드에서 모두를 반환하지만 수동으로 실행하면 단일 행을 반환합니다.
코드에서 실행하면 6000 명의 학생이 모두 반환됩니다. 코드 실행과 다른 점은 무엇입니까?
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["My_DB"].ConnectionString.ToString()))
{
using (SqlCommand cmd = new SqlCommand("sk.My_StoredProc", con))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
cmd.CommandType = CommandType.StoredProcedure;
//Add Parameter values
cmd.Parameters.Add("@StudentNumber", SqlDbType.VarChar).Value = studentNumber;
cmd.Parameters.Add("@StudentNameFragment", SqlDbType.VarChar).Value = studentNameFragment;
cmd.Parameters.Add("@SchoolYear", SqlDbType.VarChar).Value = this.schoolYr;
con.Open();
cmd.ExecuteNonQuery();
da.Fill(dt);
}
}
}
return dt;
아마도 매개 변수 값이 제대로 설정되지 않았거나 (C# 코드에서) 어쩌면! 수동으로 실행 한 코드를 차이 DB에서 실행했으면 저장 프로 시저 코드를 표시하고 C# 코드에서 매개 변수에 할당 된 값을 설정하는 위치를 표시 할 수 있습니까? 또한 거기에서 cmd.ExecuteNonQuery()를 제거하려고한다. – jfun