读书人

关于sqlite 传参,该怎么处理

发布时间: 2012-03-14 12:01:12 作者: rapoo

关于sqlite 传参
string sql = "SELECT .... FROM.....WHERE......IN ('1','3')";

SQLiteParameter[] para = new SQLiteParameter[]
{
new SQLiteParameter("@GROUP_ID", GROUP_ID),
};

('1','3') 这样的数据用SQLiteParameter 这样传参 怎么能传进去

"SELECT 。。。 FROM 。。。。WHERE 。。。。LIKE '%abc%'
'%abc%' 这样的怎么传?


[解决办法]
这种%abc%参数没办法传。只能想办法直接通过程序生成SQL语句。
[解决办法]
只能用字符串累加生成SQL语句再执行
[解决办法]
实际上是有办法的。
1. 对IN子句:
sql = "select * from " + _t1 + " where id in (?, ?, ?)";
cmd.Parameters.AddWithValue("", 1);
cmd.Parameters.AddWithValue("", 2);
cmd.Parameters.AddWithValue("", 3);
有几个值就使用几个问号进行绑定
2. 对like子句
sql = "select * from " + _t1 + " where col3 like @col3";
cmd.Parameters.AddWithValue("@col3", "%abc%");

这样也能进行绑定。

SQLite的adonet实现还是蛮不错的。

读书人网 >其他数据库

热点推荐