Вы можете использовать оператор LIKE, если база данных, к которой вы подключаетесь, его поддерживает.Используете ли вы ODBC или нет, не должно иметь к этому никакого отношения.
Следует обратить внимание на то, что разные базы данных используют разные подстановочные знаки и разный синтаксис.(Например, MS Access использует «*» в качестве подстановочного знака, в то время как SQL Server использует «%»).
http://office.microsoft.com/en-us/access-help/like-operator-HP001032253.aspx
http://msdn.microsoft.com/en-us/library/ms179859.aspx
В любомОцените, посмотрите документацию для базы данных, к которой вы подключаетесь, чтобы узнать, поддерживает ли она оператор LIKE и правильный синтаксис.
или посмотрите ответы здесь: Параметризованные запросы с LIKEи условия IN
Редактировать
Я вижу, вы пытаетесь использовать входной параметр как часть предложения LIKE.Я не могу найти документацию по этому специфическому для Sybase, но даже на стороне SQL Server нам нужно (к сожалению) связать строку в этом случае.Я понимаю, что это плохо с точки зрения внедрения SQL, но я не верю, что есть способ обойти это, поэтому вам придется прибегнуть к дезинфекции / экранированию строки.
Вотопубликовать это в SQL Server.Надеемся, что это может привести к тому, что будет работать с Sybase ASA.http://palisade.plynt.com/issues/2006Jun/injection-stored-procedures/
В качестве крайней меры вы можете использовать это:
string sql = "SELECT field FROM table WHERE fieldName like '%" + SOMESTRING.Replace("'", "''") + "%';