C# SQL Parameters.AddWithValue(); - how to include a default value

hi experts,

I have a sql insert in my code behind that includes a number of parameters e.g.

cmd.Parameters.AddWithValue("@matterNumber", DDLMatterNo.SelectedValue);

I want additionally to set the default value to 0 on a couple of the parameters where the controls are only visible conditionally.
In a previous version of the page this was possible because the sql was written as a datasource:
<asp:ControlParameter ControlID="DDLMatterNo" PropertyName="selectedvalue" Name="matterNumber" DefaultValue="0" />

But in the code behind the method only accepts 2 arguments so the below attempt gets a syntax error - how to overcome this?
cmd.Parameters.AddWithValue("@matterNumber", DDLMatterNo.SelectedValue, Convert.ToInt32(0));
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ryan ChongBusiness Systems Analyst , ex-Senior Application EngineerCommented:
try like this?

if (DDLMatterNo.SelectedValue == null) {
    cmd.Parameters.AddWithValue("@matterNumber",  0);
} else {
     cmd.Parameters.AddWithValue("@matterNumber",  Convert.ToInt32(DDLMatterNo.SelectedValue));

Open in new window

forstersAuthor Commented:
hi thanks for the code, I had to remove the Convert.ToInt32 to get it to work but having done so it just inserts a null value instead of the required zero....
forstersAuthor Commented:
actually on closer inspection it doesn't even insert a null - just an empty space
Exploring SharePoint 2016

Explore SharePoint 2016, the web-based, collaborative platform that integrates with Microsoft Office to provide intranets, secure document management, and collaboration so you can develop your online and offline capabilities.

forstersAuthor Commented:
ah ha so this now works:

if (DDLMatterNo.SelectedValue == "")
            cmd.Parameters.AddWithValue("@matterNumber", "0");
            cmd.Parameters.AddWithValue("@matterNumber", DDLMatterNo.SelectedValue);
thank you for pointing me in the right direction!

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Ryan ChongBusiness Systems Analyst , ex-Senior Application EngineerCommented:
ok glad that I could make some helps here cheers
forstersAuthor Commented:
I have selected my comment for the benefit of others trying to resolve the same, but all credit goes to Ryan for lighting the way, thank you.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.