0
SqlConnection conn = getConnection();
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SP_PSLA_SEARCH"; //The stored procedure gets added
cmd.CommandTimeout = 0;
cmd.Connection = conn;
// Start adding the parameters of the stored procedure
cmd.Parameters.AddWithValue("@usrnm", thisUser.Username);
int constit = 0;
if (thisUser.Constituencies.Count > 0)
{
foreach (KeyValuePair<int, string> kp in thisUser.Constituencies)
{
if (kp.Value == ddlConstituency.SelectedValue.ToString())
{
constit = kp.Key;
break;
}
}
}
cmd.Parameters.AddWithValue("@cnstncy", constit);
string pdval = null;
int valtype = 0;
if (rbsearchradios.SelectedIndex == 0)
{
try
{
pdval = searchVal;
cmd.Parameters.AddWithValue("@Search", DBNull.Value);
cmd.Parameters.AddWithValue("@pd", int.Parse(pdval));
cmd.Parameters.AddWithValue("@type", valtype);
}
catch
{
System.Web.UI.ScriptManager.RegisterStartupScript(this, this.GetType(), "stop", "alert('Invalid PD Number Supplied! Please Provide A Valid Submission.');", true);
return;
}
}
else
{
valtype = 1;
cmd.Parameters.AddWithValue("@Search", searchVal);
cmd.Parameters.AddWithValue("@pd", DBNull.Value);
cmd.Parameters.AddWithValue("@type", valtype);
}
cmd.Parameters.AddWithValue("@app", 1);
conn.Open();
// Creates Dataadapter for execution
SqlDataAdapter dp2 = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
dp2.Fill(ds, "name");
저장 프로 시저의 인수를 시도하고이 저장 프로 시저를 실행하고이 결과를 데이터 집합으로 가져 오지만 아무 것도 얻지 못합니다. 말 그대로. 예외가 없으며 저장 프로 시저의 결과가 없습니다.이것이 실행될 때 결과를 반환하지 않는 이유는 무엇입니까?
이 저장 프로 시저입니다 :
DECLARE @return_value int
EXEC @return_value = [dbo].[SP_PSLA_SEARCH]
@usrnm = N'tstone',
@cnstncy = 55,
@Search = N'primary',
@pd = NULL,
@type = 1,
@app = 1
SELECT 'Return Value' = @return_value
GO
개체를 내부에서 외부로 확인하십시오. 당신은 USP에 전화하고 있지만 어쨌든 작동합니까? 사용 된 술어에 일치 항목이 없으면 결과가 나타나지 않고 오류가 게시되지 않습니다. 일치하는 행이 없습니다. –
sql profiller에서 보낸 sql 문을 검토하여 오류가있는 위치를 잡을 수있는 매개 변수 값을 알 수 있습니다. 매개 변수 값은 if를 기반으로합니다. Debg로 시도하십시오 .dp2.fill 후에 매개 변수 값을 입력하십시오. –