2016-06-11 6 views
0

Я дал свое текстовое поле = 0Сделать значение текстового поля по умолчанию равно 0

<p>Credit Balance: </p><asp:TextBox ID="txtCredit" runat="server" style="width:70px" Text = "0"></asp:TextBox> 

и мой код за это:

scn.Open(); 

SqlCommand cmd = new SqlCommand("SELECT CreditRequest FROM UserData WHERE [email protected]", scn); 

cmd.Parameters.Add("@Username", SqlDbType.NVarChar).Value = Session["New"]; 

object value = cmd.ExecuteScalar(); 

if (value != null) 
{ 
    txtCredit.Text = Convert.ToDecimal(value).ToString("#,##0.00"); 
} 

Что я хочу случиться, если это имеет значение, то оно отобразит его. если нет, значение по умолчанию не равно 0. Но я получаю сообщение об ошибке

Object cannot be cast from DBNull to other types. 
+0

Вы можете установить столбец Not NULL и установить для него значение по умолчанию – mohsen

ответ

1

Я подозреваю, что значение приходит в DBNull, вы можете защититься от DBNull использования Convert.IsDBNull метода.

if (!Convert.IsDBNull(value)) 
{ 
    txtCredit.Text = Convert.ToDecimal(value).ToString("#,##0.00"); 
} 
+0

Genius. Спасибо, сэр :) –

0

Вместо того, чтобы использовать null, используйте DBNull.

if(value != DBNull) 
{ 
// update textbox 
} 
0

Вещи, которые вы должны рассмотреть следующие вопросы:

  • Вместо установки атрибута текста, послал его значение.
  • Перед преобразованием проверьте свою ценность. Вы сравниваете его с нулевым, но это DBNull. Проверьте эту информацию в дополнение к вашей проверке Null.

Удачи вам!

 Смежные вопросы

  • Нет связанных вопросов^_^