2012-03-10 3 views
0

utilisateur Je suis en train d'interroger de la boîte de recherche en utilisant la liste des données et LINQ j'est:Linq Interrogation pour la recherche

data = (From k As BSPLib.ContactLib.Contact In data_org.Values Where k.stringdata Like "%" & Searchtxtbox.Text & "%" Select k.prime).ToList 

Mais cela ne fonctionne pas, je reçois aucune donnée. Data_org est un dictionnaire donc j'ai utilisé les valeurs; k.stringdata contient toutes les données qui doivent être recherchées. Searchtxtbox.text contient l'élément de recherche défini par l'utilisateur. Je ai essayé avec sqlmethods par linq, mais sqlmethods n'existe pas pour moi, j'ai essayé avec avec l'espace de noms importé mais le code ne montre pas les méthodes sql, pourriez-vous s'il vous plaît fournir une requête réalisable ou juste dire où je me suis trompé . Je vous remercie.

Répondre

0

Le caractère générique % ne fonctionnera pas ici, rappelez-vous ceci est le code .NET, pas SQL. Vous avez besoin de quelque chose comme ceci:

data = (
    From k As BSPLib.ContactLib.Contact In data_org.Values 
    Where k.stringdata.Contains(Searchtxtbox.Text) Select k.prime).ToList 
1

Mon Visual Basic est un peu rouillé alors pardonnez-moi si j'ai le mal de syntaxe: Une chose que vous pouvez utiliser est Contains qui sera similaire à « % Searchtxtbox.Text% " et exactement la même chose si elle est utilisée avec un DatabaseContext. Je sais que ce n'est pas la même chose que Like, mais si cela ne fonctionne pas, il est probable que quelque chose ne va pas et que je voudrais plus de code.

data = (From k As BSPLib.ContactLib.Contact In data_org.Values Where k.stringdata.Contains(Searchtxtbox.Text) Select k.prime).ToList 

Vous pouvez en outre utiliser StartsWith et EndsWith pour "Searchtxtbox.Text%" et "%Searchtxtbox.Text" aussi que je voudrais suggérer Puth "%" & Searchtxtbox.Text & "%" entre Parenthèses des éclaircissements, mais c'est tout à vous.

Questions connexes