2010-04-16 13 views
6

Hashtable करने के लिए डेटा तालिका कन्वर्ट करने के लिए एक आसान तरीका एक HashTable या एक HashTable करने के लिए एक SQLDataReader करने के लिए एक DataTable कन्वर्ट करने के लिए है? मुझे javascriptserializer के माध्यम से इसे पार्स करना है। कोड मैं उपयोग कर रहा हूँ कुछ समस्या है:आसान तरीका टेबल या SqlDataReader हैश करने के लिए

try 
{ 
    using (SqlConnection conn = new SqlConnection(ConnectionString)) 
    { 
     using (SqlCommand cmd = new SqlCommand(query, conn)) 
     { 
      conn.Open(); 
      SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); 
      dt.Load(dr); 
     } 
    } 

    Hashtable sendData = new Hashtable(); 

    foreach (DataRow drIn in dt.Rows) 
    { 

     sendData.Add(drIn["orderNumber"].ToString(), drIn["customerName"].ToString()); 

    } 

    sendData.Add("orderNum", order); 
    JavaScriptSerializer jss = new JavaScriptSerializer(); 
    string output = jss.Serialize(sendData); 
    return output; 
} 
catch (Exception ex) 
{ 
    return ex.Message + "-" + ex.StackTrace; 
} 

यह एक सही परिणाम जब डेटाबेस में एक मेज से पूछे लेकिन एक और मेज से यह एक समस्या हो रही है दे रहा है।

क्या ऐसा करने का कोई और तरीका है?

+3

कृपया समस्या का वर्णन, सटीक त्रुटि संदेश के साथ कर सकते हैं। – RedFilter

उत्तर

-1
public static Hashtable Fn_ConvertDataTableToHashTable(DataTable dtTable, int iRow) 
{ 
     Hashtable hshTable = new Hashtable(); 

     if (CommonUtil.Fn_CheckDatatableHasValue(dtTable)) 
     { 
      foreach (DataColumn column in dtTable.Columns) 
      { 

       hshTable.Add(column.ColumnName, dtTable.Rows[iRow][column.ColumnName].ToString()); 
      } 
     } 

     return hshTable; 
} 
0

आप निम्न फ़ंक्शन का उपयोग करने के लिए HashTable DataTable परिवर्तित करने के लिए,

public static Hashtable convertDataTableToHashTable(DataTable dtIn,string keyField,string valueField) 
{  
    Hashtable htOut = new Hashtable();  
    foreach(DataRow drIn in dtIn.Rows)  
    {  
     htOut.Add(drIn[keyField].ToString(),drIn[valueField].ToString());  
    } 
    return htOut;  
} 

फिर अपने कोड में बस का उपयोग करें,

Hashtable sendData = new Hashtable(); 
//You need to pass datatable, key field and value field 
sendData = convertDataTableToHashTable(dt, "orderNumber", "customerName"); 
संबंधित मुद्दे