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));
forstersAsked:
Who is Participating?
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 ChongCommented:
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

0
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....
0
forstersAuthor Commented:
actually on closer inspection it doesn't even insert a null - just an empty space
0
Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

forstersAuthor Commented:
ah ha so this now works:

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

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 ChongCommented:
ok glad that I could make some helps here cheers
0
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.
0
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
ASP.NET

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.