2016-08-07 30 views
0

アクセスデータベースから値を戻していますが、結果から1つの値を配列リストに保存します。配列リストに結果を格納する

これは、私はその後、

を、同じSELECTクエリを実行しますが、州の顧客IDは、配列リストに格納された値と等しくない 'パラメータを含んでいるボタンを導入することができている人は助けることはできますか?

public bool ItemIsExist(ArrayList al, int id) 
    { 
     var NotInArryList = al.ToArray().Where(x => !al.Contains(id)); 
     var flag = NotInArryList.Count() == 0; 
     Console.WriteLine("{0} {1}", id, flag ? " Is Exist" : "Not Exist"); 
     return flag; 
    } 

使用法:

var isExist = ItemIsExist(your_Array_List, Customer.ID) 

例:お客様のIDを確認するには

public void LoopThroughRecs(OleDbDataReader Reader) 
    { 

     if (Reader.Read()) 
     { 
      int result; 

      CustID.Text = Reader["CustID"].ToString(); 
      FirstName.Text = Reader["Initial"].ToString(); 
      LastName.Text = Reader["Surname"].ToString(); 
      Address1.Text = Reader["Address 1"].ToString(); 
      Address2.Text = Reader["Address 2"].ToString(); 
      Address3.Text = Reader["Address 3"].ToString(); 
      TownCity.Text = Reader["Post Town"].ToString(); 
      PostCode.Text = Reader["Post Code"].ToString(); 
      Telephone.Text = Reader["Telephone"].ToString(); 
      LstSvcDat.Text = Reader["LastService"].ToString(); 
      BoilerMan.Text = Reader["Manufacturer"].ToString(); 
      BoilerMod.Text = Reader["Model"].ToString(); 

      result = Convert.ToInt32(CustID.Text); 

     } 
    } 

    public void SearchButton_Click(object sender, EventArgs e) 
    { 

     System.Data.OleDb.OleDbConnection conn = new 
     System.Data.OleDb.OleDbConnection(); 
     conn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BoilerSvc_be.mdb"; 
     try 
     { 
      conn.Open(); 
      OleDbCommand command = new OleDbCommand("SELECT Contacts.CustID AS CustID,CustCode,Initial,Surname,[Address 1],[Address 2],[Address 3],[Post Town],[Post Code],Telephone,Equipment.CustID AS CustID1,Equipment.Manufacturer AS Manufacturer,Equipment.Model AS Model,Equipment.LastService AS LastService FROM Contacts LEFT OUTER JOIN Equipment ON Equipment.CustID = Contacts.CustID WHERE Archived = 0 AND ([Address 1] = '" + textBox12.Text + "' OR CustCode LIKE '" + textBox12.Text + '%' + "' OR Initial = '" + textBox12.Text + '%' + "' OR Surname = '" + textBox12.Text + '%' + "' OR Initial = '" + textBox12.Text + '%' + "' OR [Post Town] LIKE '" + textBox12.Text + '%' + "' OR [Post Code] = '" + textBox12 + '%' + "')", conn); 
      OleDbDataReader Reader = command.ExecuteReader(); 

      LoopThroughRecs(Reader); 

     } 
     finally 
     { 
      conn.Close(); 
     } 
    } 

答えて

0

は、配列リストに格納された値に等しくない場合は、次の方法を使用することができます

 var id = 1; 
     ArrayList al = new ArrayList(); 
     al.Add(id); 
     Console.WriteLine("add 2 to the ArrayList"); 
     ItemIsExist(al, 2); 
     al.Add((2)); 
     ItemIsExist(al, 2); 

結果:

2 Not Exist 
add 2 to the ArrayList 
2 Is Exist 
関連する問題