gpt4 book ai didi

rust - 为什么 query_map 的结果不打印任何东西?

转载 作者:行者123 更新时间:2023-11-29 08:35:21 24 4
gpt4 key购买 nike

我想捕获 SQLite 空结果并正确打印消息或结果。

我准备一个语句,将结果提取到 MyStruct,检查结果是 Some 还是 None (null) 以及它是否是 Some 在 for 循环中打印结果。

此代码正确匹配 SomeNone 但不打印任何内容:

let mut stmt = conn.prepare(&query).expect("execute error");
let mut rows = stmt.query_map(&[&par_a, &par_b], |row| {
MyStruct {
a: row.get(0),
b: row.get(1),
c: row.get(2),
}
}).expect("query_map error");

match rows.next() {
Some(_x) => {
println!("Some");
for result in rows {
println!("{:?}", result.unwrap());
}
}
None => println!("The result is empty. Try again."),
}

如果我删除所有 match 语句并只将此打印放入循环中,一切正常:

for result in rows {
println!("{:?}", result.unwrap());
}

最佳答案

丢弃了迭代器的结果:

match rows.next() {
Some(_x) => {

_x 的意思是“我想忽略这个变量,编译器,不要提示它”。除了你不想忽略它

Some(row) => {
println!("Some");
println!("{:?}", row.unwrap());
}

关于rust - 为什么 query_map 的结果不打印任何东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45442609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com