2010-07-15 5 views
1

J'ai ce code qui peut faire une recherche rapide sur la base de données.aide avec le code C# pour la recherche rapide

cela fonctionne très bien sur sqlCE.

je dois maintenant traduire cela fonctionnera sur Access 2007

comment le faire?

public bool LOOK() 
     { 
      Tmp = ""; 
      MAK = ""; 
      DES = ""; 
      Cmd.CommandType = CommandType.TableDirect; 
      Cmd.CommandText = "BarcodeTbl"; 
      Cmd.IndexName = "Barcode"; 
      Cmd.SetRange(DbRangeOptions.Match, new object[] { txtYad.Text }, null); 
      SqlCeDataReader read = Cmd.ExecuteReader(); 
      while (read.Read()) 
      { 
       Tmp = read[2].ToString(); 
       MAK = read[0].ToString(); 
       DES = read[1].ToString(); 
      } 
      read.Dispose(); 
      if (Tmp == "") 
      { 
       return false; 
      } 
      else 
      { 
       txtYad.Text = DES; 
       return true; 
      } 
     } 

remercient à l'avance

Répondre

2

Vous devez utiliser les classes du System.Data.OleDb namespace, par exemple OleDbDataReader, OleDbCommand etc.

En aparté, ce qui suit:

SqlCeDataReader read = Cmd.ExecuteReader(); 
while (read.Read()) 
{ 
    Tmp = read[2].ToString(); 
    MAK = read[0].ToString(); 
    DES = read[1].ToString(); 
} 
read.Dispose(); 

Peut être mieux écrit comme:

using(SqlCeDataReader read = Cmd.ExecuteReader()) 
{ 
    while (read.Read()) 
    { 
     Tmp = read[2].ToString(); 
     MAK = read[0].ToString(); 
     DES = read[1].ToString(); 
    } 
} // .Dispose() is called automatically here 
+0

+1 pour la suggestion d'utilisation –

Questions connexes