Podczas wysyłania z powrotem parametry uzyskiwanie ten błądError: Out Parametr musi być przypisany przed kontrolą opuszcza obecną metodę
Error: The Out Parametr musi być przypisany przed kontrola opuszcza obecną metodę
Code jest
public void GetPapers(string web, out int Id1, out int Id2)
{
SqlConnection conn = new SqlConnection(ConnectionString());
conn.Open();
SqlCommand cmd = new SqlCommand("GetPapers", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@URL", String(web)));
SqlDataReader rdr = cmd.ExecuteReader();
if (rdr.Read())
{
Id1 = (int)rdr["ID1"];
Id2 = (int)rdr["ID2"];
}
rdr.Close();
}
nazywając go jako
GetPapers(web, out Id1, out Id2);
związane z tym pytanie
Out parametry muszą być przypisany wzdłuż wszystkich dróg przed kontrola opuszcza metody. Ponieważ masz instrukcję if, mogą one nie zostać przypisane. –
Co chcesz wartości, jeśli 'rdr.Read()' zwraca wartość false? –
@JonSkeet kod działa tylko wtedy, gdy jest coś w DB, jego jak odbiornik zdarzeń –