Jag försöker använda ett dataset och en SP som kräver en parameter, men jag kan inte få detta att fungera. Vad har jag gjort för fel? Testa att sätta värdet på parametern i samband med att du addar den. Har efter mycket funderande lyckats lösa det.Skicka med parameterar till en SP?
<code>
SqlConnection conn = new SqlConnection(menuConn);
SqlCommand cmd = new SqlCommand("getMenu", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@parent", SqlDbType.Int, 4));
cmd.Parameters["@parent"].Value = menuID;
//SqlDataAdapter da = new SqlDataAdapter(cmd, conn);
SqlDataAdapter da = new SqlDataAdapter("getMenu", conn);
DataSet ds = new DataSet();
using(conn)
{
try
{
da.Fill(ds);
return ds.Tables[0];
}
catch (SqlException sErr)
{
throw new ApplicationException("Ett fel inträffade", sErr);
}
}
</code>Sv: Skicka med parameterar till en SP?
Typ:
SqlCommand cmd = new SqlCommand("getMenu", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@parent", menuID)); //Ändrat denna radSv:Skicka med parameterar till en SP?
<code>
DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection(menuConn);
SqlCommand cmd = new SqlCommand("getMenu", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@parent", SqlDbType.Int, 4));
cmd.Parameters["@parent"].Value = menuID;
SqlDataAdapter da = new SqlDataAdapter(cmd);
try
{
da.Fill(ds);
}
catch(SqlException err)
{
throw new ApplicationException("Det uppstod ett fel", err);
}
return ds.Tables[0];
</code>
Så fungerar det.