Sie können die LIKE-Anweisung verwenden, solange die von Ihnen verbundene Datenbank sie unterstützt. Ob Sie ODBC verwenden oder nicht, sollte damit nichts zu tun haben.
Ein Fallstrick, auf den Sie achten sollten, ist, dass verschiedene Datenbanken unterschiedliche Platzhalter und verschiedene Syntax verwenden. (Zum Beispiel verwendet MS Access "*" als Platzhalter, während SQL Server "%").
http://office.microsoft.com/en-us/access-help/like-operator-HP001032253.aspx
http://msdn.microsoft.com/en-us/library/ms179859.aspx
So oder so, schauen Sie sich die Dokumentation für die von Ihnen verbundene Datenbank an, um zu sehen, ob sie die LIKE-Anweisung und die richtige Syntax unterstützt.
Oder schauen Sie sich die Antworten hier an: Parametrisierte Abfragen mit LIKE- und IN-Bedingungen
Bearbeiten
Ich sehe, dass Sie versuchen, einen Eingabeparameter als Teil der LIKE-Klausel zu verwenden. Ich kann keine Dokumentation finden, die spezifisch für Sybase ist, aber selbst auf der SQL Server-Seite müssen wir (unglücklicherweise) den String in diesem Fall verknüpfen. Mir ist klar, dass dies aus Sicht einer SQL-Injektion schlecht ist, aber ich glaube nicht, dass es einen Ausweg gibt, sodass Sie auf das Säubern/Escape des Strings zurückgreifen müssen.
Hier ist ein Beitrag dazu in SQL Server. Hoffentlich lässt sich dies in etwas übersetzen, das mit Sybase ASA funktioniert. http://palisade.plynt.com/issues/2006Jun/injection-stored-procedures/
Als letzte Möglichkeit können Sie dies verwenden:
string sql = "SELECT field FROM table WHERE fieldName like '%" + SOMESTRING.Replace("'", "''") + "%';