DBNull.Value for a string OdbcParameter

Dear experts,

I want to execute a stored procedure, and some of the string parameters may be empty. Instead of passing to the stored procedure an empty string for saving in my database, I want to pass a DBNull.Value. I tried the following:
                    parameters[3] = new OdbcParameter("pOrigValue", (oldFieldsValues[ctrl.ID] == string.Empty) ? DBNull.Value : oldFieldsValues[ctrl.ID]);
But I am getting an error:
error CS0173: Type of conditional expression cannot be determined because there is no implicit conversion between 'System.DBNull' and 'string'
Could you please tell me how I could do it correctly?
Thanks.
tantormediaAsked:
Who is Participating?
 
käµfm³d 👽Connect With a Mentor Commented:
The problem is with your use of the ternary operator. "?:" needs to have compatible types on either side of ":" and as indicated by your error, there is no implicit conversion between string and DBNull.Value. Try breaking the logic into an if/else statement instead.
if (oldFieldsValues[ctrl.ID] == string.Empty)
{
    parameters[3] = new OdbcParameter("pOrigValue", DBNull.Value);
}
else
{
    parameters[3] = new OdbcParameter("pOrigValue", oldFieldsValues[ctrl.ID]);
}

Open in new window

0
 
käµfm³d 👽Commented:
Have you tried:
parameters[3] = new OdbcParameter("pOrigValue", (oldFieldsValues[ctrl.ID] == string.Empty) ? DBNull.Value.ToString() : oldFieldsValues[ctrl.ID]);

Open in new window

0
 
packratt_jkCommented:
try sending null instead of DBNull.Value - odbc should be smart enough to convert it for you.
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
tantormediaAuthor Commented:
kaufmed,

I tried it, and it stored an empty string instead of null .
0
 
tantormediaAuthor Commented:
packratt_jk,

This also stores an empty string.
0
 
tantormediaAuthor Commented:
Thanks.
0
 
käµfm³d 👽Commented:
NP. Glad to help  :)
0
All Courses

From novice to tech pro — start learning today.