2009-06-02 5 views
0

J'ai déjà un dataset et un DataGrid dans mon projet, mais je veux créer mon propre bouton quicksearch. Le code suivant donne l'erreur pour les KEYWORD connectionString PRESTATAIRE NON COMPATIBLEcomment faire une simple requête SQL à partir de VB.net (accès db)

connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\prod.mdb" 

sql = "Select (*) from table1 where prodid=" + searchfield.Text 

cnn = New SqlConnection(connetionString) 
Try 
    cnn.Open() 
    cmd = New SqlCommand(sql, cnn) 
    Dim ret = (cmd.ExecuteScalar()) 
    cmd.Dispose() 
    cnn.Close() 
    Text = ret 
+1

Ne devriez-vous pas utiliser OleDbConnection au lieu de SQLConnection? SQLConnection est pour SQLServer –

Répondre

0

son mieux utiliser

dataset.table.select (« a = b »)

4

Vous essayez de rechercher juste pour une valeur particulière dans le domaine ou demander un concepteur de requêtes complet soufflé?

Si c'est le premier, devrait être relativement facile, vous pouvez soit sélectionner les lignes directement dans le DataGrid ou déclencher une requête paramétrée pour obtenir le résultat.

Si c'est la seconde, les choses sont un peu plus compliquées. Vous devrez peut-être utiliser un third party component.

Comme demandé :-)

Vous utilisez mauvaise connexion. Vous devriez utiliser la classe OleDbConnection. Je déteste pinailler, mais vous générez des instructions SQL à la volée par concaténation chaîne qui vous laisse ouvert à attaques par injection SQL

+0

Je cherchais plus d'informations comment faire une requête SQL comme: data.executeSql ("select xxxx où a =" + mykey) – Tom

+2

Vous utilisez mauvaise connexion. Vous devriez utiliser la classe OleDbConnection. Je déteste piéger, mais vous générez des instructions SQL à la volée par concaténation de chaîne qui vous laisse ouvert aux attaques par injection SQL. –

+0

@no_one si vous mettez ce dernier commentaire dans votre réponse, je vais voter vers le haut –

Questions connexes