2015-03-14 2 views
1

Как извлечь значения из таблицы данных с одной строкой и присвоить метки asp.извлекать значения из DataTable с одной строкой

private void GetUser(string userId) 
    { 
     dbr.SelectString = "select name, gender, address, contactno from userInfo where id = = '" + userId + "' --"; // return single row 
     DataTable dt = dbr.GetTable(); 
     //DataRow row = dt.Rows[0]; 
     // how to retrieve the fields from the data table. 
     //lbl_name = name.ToString(); 
     //lbl_gender = gender.ToString(); 
     //lbl_contact = contactno.ToString(); 
    } 

Я думал об использовании цикла foreach, но в datatable содержится только одна строка. Как передать пустую строку в случае NULL-ячеек. Кроме того, могу ли я извлечь значения из datatable через list?

ответ

5
private void GetUser(string userId) 
{ 
    dbr.SelectString = "select name, gender, address, contactno from userInfo where id = = '" + userId + "' --"; // return single row 
    DataTable dt = dbr.GetTable(); 
    if (dt.Rows.Count > 0) 
    { 
    DataRow row = dt.Rows[0]; 

    lbl_name = row["name"].ToString(); 
    lbl_gender = row["gender"].ToString(); 
    lbl_contact = row["contactno"].ToString(); 
    } 
} 
+0

спасибо за быстрый ответ. я могу преобразовать эту таблицу данных в список и получить значения. Что будет более предпочтительно? Пожалуйста, объясните. – user4221591

+0

@ пользователь4221591, какой вид списка? dataTable содержит 1 строку, создает один объект пользовательского типа – ASh

0

Чтобы получить список всех строк, то нужен класс

class Lbl() 
      { 
       public string Name {get; set;} 
       public string Gender {get; set;} 
       public string Contact {get; set;} 
      } 

Заполните класс:

List<Lbl> list = new List<Lbl>(); 
      foreach(DataRow row in dt.Rows) 
      { 
       Lbl lbl = new Lbl(); 
       lbl.Name = row["name"].ToString(); 
       lbl.Gender = row["gender"].ToString(); 
       lbl.Contact = row["contactno"].ToString(); 

       list.add(lbl); 
      } 
+0

, как обрабатывать, если столбцы возвращают значения NULL. Пожалуйста, можете поделиться. – user4221591

+0

значение объекта = строка ["name"]; если (значение == DBNull.Value!) { } еще в MsSQL { } – Thomas

+0

вы можете использовать IsNull-метод: SELECT ISNULL (имя, '') AS имя – Thomas

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