首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rusqlite返回错误(InvalidParameterCount(1,0))

rusqlite返回错误(InvalidParameterCount(1,0))
EN

Stack Overflow用户
提问于 2020-09-15 15:48:07
回答 1查看 115关注 0票数 1

我尝试使用rusqlite执行一个简单的sqlite语句,但每次都得到一个错误。

代码语言:javascript
复制
let seconds = 1;

conn.execute(
    "DELETE FROM session WHERE created < DATETIME('now', '?1 seconds')",
    params![seconds],
)?;

返回Err(InvalidParameterCount(1, 0))

如果我使用静态字符串而不是参数,则查询可以工作。例如。

代码语言:javascript
复制
conn.execute(
    "DELETE FROM session WHERE created < DATETIME('now', '1 seconds')",
    params![seconds],
)?;

我怎么才能把参数放进去呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-15 15:54:36

您正在字符串中编写?1,这不是一个参数,而是几个普通的字符。因此,当您指定实际参数时,它没有匹配项,因为查询没有任何参数占位符。

你想要这样的东西(未经测试):

代码语言:javascript
复制
let seconds = 1;

conn.execute(
    "DELETE FROM session WHERE created < DATETIME('now', ?1)",
    params![format!("{} seconds", seconds)],
)?;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63897366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档