关于将数据库里的数据存入Hashtable中,再与另一个Hashtable比较,解决马上散分,谢谢
我把问题说明白点,我就不写我的代码了,因为我的代码通过测试是有问题的.我要从数据库里提取两个数据,分别是a,b,表名为table.然后保存到Hashtable1里,a为Hashtable1的键,b为Hashtable1的值,数据库提取出来的有可能一个键只有一个值,也有可能一个键有多个值,数据库里的数据就以键值对的方式保存到Hashtable1里,然后再用Hashtable1和Hashtable2进行比较,如果Hashtable1里的键在Hashtable2里也有就比较值,有相同的值就输出 "OK ". 
 这就是我要实现的整个过程,希望大家给予帮助,谢谢!!! 
------解决方案--------------------//把数值保存进Hashtable1 
 int count = myDs.Tables[ "table "].Rows; 
 for(int i=0;i <count;i++) 
 { 
 DataRow row = myDs.Tables[ "table "].Rows[i]; 
 string strkbh=row[0].ToString().Trim(); 
 string strcgq=row[1].ToString().Trim(); 
 if(Hashtable1.ContainsKey(strkbh)) 
 { 
 Hashtable1[strkbh] = Hashtable1[strkbh].ToString()+strcgq; 
 } 
 else 
 { 
 Hashtable1.Add(strkbh,strcgq); 
 } 
 } 
 //构造你的Hashtable2 
 。。。。。。。。。。。。。。。。   
 //比较Hashtable1和Hashtable2 
 foreach(DictionaryEntry de in Hashtable1) 
 { 
     if (Hashtable2.Contains(de.Key) &&  
         Hashtable2[de.Key].ToString() == de.Value.ToString()) 
     { 
         Console.WriteLine( "OK "); 
         break;//如果存在则退出循环 
     } 
 }
------解决方案--------------------using System; 
 using System.Collections; 
 using System.Data;   
 public class MyClass 
 { 
 	public static void Main() 
 	{ 
 	//定义并增充datatable 
 		DataTable dt=new DataTable(); 
 		dt.Columns.Add( "key ",typeof(int)); 
 		dt.Columns.Add( "value ",typeof(int)); 
 		dt.Rows.Add(new object[]{1,1}); 
 		dt.Rows.Add(new object[]{1,2}); 
 		dt.Rows.Add(new object[]{3,3}); 
 	//Hashtable	 
 	    Hashtable  ht=new Hashtable (); 
 		ht.Add(1,1); 
 		ht.Add(2,2); 
 		ht.Add(3,3); 
 	//遍历	 
 		foreach(DataRow dr in dt.Rows){ 
 		   if(ht.ContainsKey (dr[0]) && (int) ht[dr[0]]==(int)dr[1] ){ 
 		      Console.WriteLine( " key :{0} \tvalue: {1} is OK ",ht[dr[0]],dr[1]); 
 			} 
 		}   
 		Console.Write( "End "); 
 		Console.Read(); 
 	}  	  	 
 }
------解决方案--------------------如果是与另一个hashtable比较,而源数据有没有唯一的主键,那么就不要用hashTable了.假设源数据为DataTable 
 DataRow[] rows; 
 foreach(object key in Hashtable2.Keys) 
 { 
 rows=MyDataTable.Select( "a= ' " +(string)key + " ' and = ' " +(string)Hashtable2[key]+ " ', "; 
 if(rows.Length> 0) 
 {MessageBox.Show( "OK ");} 
 else 
 {MessageBox.Show( "NO ");} 
 }
------解决方案--------------------private void Form1_Load(object sender, EventArgs e) 
         { 
             string sql =  " "; 
             sql =  "insert into Hashtable1(a,b) select a,b from table "; 
             System.Data.DataTable a = new DataTable(); 
             sqlDataAdapter da = new sqlDataAdapter(); 
             da.fill(a); 
             da.dispose();   
             string sqlstr =  " "; 
             sqlstr =  "select a1,b1 from Hashtable2 "; 
             System.Data.DataTable b = new DataTable(); 
             sqlDataAdapter db = new sqlDataAdapter(); 
             db.fill(b); 
             db.dispose();     
             bool panduan = false; 
             for (int i = 0; i  < a.Rows.Count; i++) 
             { 
                 for (int j = 0; j  < b.Rows.Count; j++) 
                 { 
                     if (a.Rows[i][a] = b.Rows[j][a1]) 
                     { 
                         if(a.Rows[i][b]=b.Rows[j