I’m trying to update a website where there’s new ID’s for different damage groups. All the new ID’s start after ID 139. In SQL the statement to get the new groups are simply:
SELECT *
FROM DamageCode
WHERE ID >= 139
However, I want to implement the same statement in my ASP code and in the method that fetches the current damage groups. Here’s the current method for it:
public List<DamageCode> GetDamageCodes(int codeId)
{
var list = new List<DamageCode>();
var cmd = new SqlCommand("spDamage_GetDamageCodeComponents", Connection);
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@CodeId", codeId);
var dt = new DataTable();
dt.Load(cmd.ExecuteReader());
if (dt.Rows.Count > 0)
{
foreach(DataRow i in dt.Rows)
{
var model = new DamageCode();
model.DamageCodeId = Convert.ToInt32(i["ID"]);
model.DamageCodeName = i["Swedish"].ToString(); // DamageCode WHERE ID >= 139
list.Add(model);
}
}
}
catch (SqlException ex)
{
throw new Exception(ex.Message);
}
finally
{
Connection.Close();
}
return list;
}
Basically: I want to update this method and add some a statement similar to the SQL statement, so that i["ID"]
only will fetch ID’s after number 139.
Any ideas on how to do this directly in this method?
I’ve tried adding a new sql similar to:
string query = 'SELECT * FROM DamageCode WHERE ID >= 139';
But, I am unsure where to use the query later in the method.
Advertisement
Answer
The solution was to change to stored procedure
"spDamage_GetDamageCodeComponents"
in the database and alter the procedure to only show ID where ID >= 139
, this is much simpler than to change the whole method