Hi community,
When implementing a web service, I have a GET method with a parameter :
public int GetMethod(string name)
In this method, I did a query to get the age of the person in parameter :
var select = new Select(UserConnection)
.Column("Age")
.From("Contact")
.Where("Contact", "Name").IsEqual(Column.Parameter(name)) as Select;
Then I save the age into an int var :
var age = select.ExecuteScalar();
return age;
The problem is the following :
How can I check if the name of a contact in the method parameter exsists in the DB or not ?
Example :
if(name != exists) {
return 0;
} else {
return age;
}
Thanks a lot.
Best regards,
Jonathan
Like
Hi Jonathan,
Usually you use dataReader to get the value from your select query. What you can do is:
bool hasRecord = false; using (DBExecutor executor = UserConnection.EnsureDBConnection()) { using (IDataReader dataReader = select.ExecuteReader(executor)) { while (dataReader.Read()) { hasRecord = true; } } } if(hasrecord){ return age }else{ return 0 }
Or you can just set the default value of the age =0. Therefore if the dataReader does not return any record, the default value age (0) will be returned.
regards,
Cheng Gong
Hi Jonathan,
Please add the next using -
using Terrasoft.Common;
on the top of the page(if you didn't have this one).
Then in the part of the code when you are trying to retrieve the age:
if (name.IsNullOrEmpty())
{
return 0;
}
else
{
return age;
}
Best Regards,
Bogdan L.
Hi Jonathan,
Usually you use dataReader to get the value from your select query. What you can do is:
bool hasRecord = false; using (DBExecutor executor = UserConnection.EnsureDBConnection()) { using (IDataReader dataReader = select.ExecuteReader(executor)) { while (dataReader.Read()) { hasRecord = true; } } } if(hasrecord){ return age }else{ return 0 }
Or you can just set the default value of the age =0. Therefore if the dataReader does not return any record, the default value age (0) will be returned.
regards,
Cheng Gong
Cheng Gong,
Your answer is really perfect ! Thanks a lot, i'll definitely save this snippet of code for my future implementations.
Regards,
Jonathan