Je travaille sur une application sur le périphérique Motorola, avec la version Windows ce 5.0, et j'essaie de lire une requête depuis la base de données "sdf" avec une simple commande select. mais le résultat est très très lent.La sélection de données dans mon fichier sdf est très lente
ceci est mon code
private SqlCeConnection myCn;
private SqlCeCommand cm;
private SqlCeDataReader dr;
myCn = new SqlCeConnection("Data Source=\Storage Card\PDT_Data.sdf;Max Database Size=4091;Max Buffer Size = 1024;Default Lock Escalation =100;");
cm = myCn.CreateCommand();
cm.CommandText = "SELECT * FROM MainInputFile WHERE BARCODE = " + txtBarCode;
dr = null;
if (myCn.State != ConnectionState.Open) myCn.Open();
dr = cm.ExecuteReader();
while (dr.Read())
{
txtBarCode.Text = dr["BARCODE"].ToString();
txtItemInformation.Text = dr["DESCRIPTION"].ToString();
txtItemInformation.Text += "\r\n" + dr["BYUM"].ToString();
txtItemInformation.Text += "\r\n" + dr["ITEMSKU"].ToString();
txtItemInformation.Text += "\r\n" + dr["SALEPRIC"].ToString();
}
s'il vous plaît quelqu'un peut me aider.
Combien de lignes sont à l'intérieur de la base de données? Avez-vous essayé de coller des fichiers de la \ Storage Card \ vers un autre emplacement? En outre, votre code semble écraser continuellement la zone de texte (?) Pour chaque ligne, l'opération d'interface utilisateur est coûteuse, vous pouvez simplement les stocker dans CSV, tableau ou autre DB au lieu de les afficher dans la zone de texte. – Martheen
c'est à peu près 152284 ligne –