在ado.net sybase参数中使用通配符

时间:2015-06-16 14:19:24

标签: c# parameters ado.net wildcard sqlanywhere

有人知道,如何在sybase sql的任何地方使用带有ado.net参数的通配符吗?

例如,我想搜索所有名称,从Se开始。在普通查询中,我会使用select * from names where name like 'Se%'。但在ADO.Net中,我的查询看起来像SELECT * from names where name like ?,问号将设置在SAParameter上。

SACommand command = new SACommand(SqlStatement, cConnection);
command.Parameters.Add(new SAParameter() { Value = "Se%" });

问题是,Value无法包含任何通配符。

非常感谢!

1 个答案:

答案 0 :(得分:1)

这是我的解决方案示例

using (SAConnection con = new SAConnection(DBConnStr))
{
    con.Open();
    try
    {
        string sql = "select * from names where name like ?";
        SACommand cmd = new SACommand(sql, con);
        cmd.Parameters.Add("@p1","Se%");
        SADataReader rdr = cmd.ExecuteReader();
        while (rdr.Read())
        {
            Console.WriteLine(rdr["name"].ToString());
        }
        rdr.Close();
    }
    finally
    {
        con.Close();
    }
}
Console.ReadLine();