Array
(
)

Ajude-me por favor.... Pegando valor no banco de dados!

Kchopa
   - 26 mar 2008

Eu criei um botão que pega os dados do banco e joga para as strings, o problema eh q se o banco tem o valor NULL ele naum estah entendendo como vazio, e estah dando erro.... (Não é possível converter um objeto do tipo ´System.DBNull´ no tipo ´System.String´. )
Como poderia resolver esse problema?

Meu Código
--------------------------------------------
protected void btnGet_Click(object sender, EventArgs e)
{
int id = 0;
try { id = Convert.ToInt32(txtId.Text); }
catch
{
lblError.Text = ´ID inválido´;
return;
}

Ds_LogSeg.CustomersRow row = this.dsLogSeg.Customers.FindById(Convert.ToInt32(txtId.Text) );

if (row != null)
{
//txtText.Text = row.Name;
txtNome.Text = row.Name;
txtCorporateName.Text = row.CorporateName;
txtCnpj.Text = row.CNPJ;
txtStateRegistration.Text = row.StateRegistration;
txtAddress.Text = row.Address;
txtComplement.Text = row.Complement;
txtQuarter.Text = row.Quarter;
txtZipCode.Text = row.ZipCode;
txtCity.Text = row.City;
txtState.Text = row.State;
txtMainEmail.Text = row.MainEmail;
txtMainPhone.Text = row.MainPhone;

}

}

Esse é a mensagem de erro:
------------------------------------
Não é possível converter um objeto do tipo ´System.DBNull´ no tipo ´System.String´.

Hugoestevam
   - 26 mar 2008

Você pode converter de System.DBNull para System.String da seguinte forma:

#Código

object value = row["column"];

string str = (value is DBNull) ? null : (string) value;


Valeu