小编Jac*_*ler的帖子

将带有“null”值的字符串替换为真正的空值 rusqlite

我需要null使用 rusqlite 将具有该值的字符串转换为 SQLite DB 中的实际空值。我无法控制这些字符串值。我找到了 Null 结构,但我不确定如何简洁地将它作为参数传递,但当它不是时使用字符串值null

sqlite.execute(
    "INSERT INTO people (name) VALUES (?1)",
    params![
        if person.name == "null" { &Null } else { person.name }
    ],
).unwrap();
Run Code Online (Sandbox Code Playgroud)

但我得到了错误

`if` and `else` have incompatible types

expected `&rusqlite::types::Null`, found struct `std::string::String`rustc(E0308)
Run Code Online (Sandbox Code Playgroud)

可以做这样的事情,但必须有更好的方法。

if person.name == "null" {
    sqlite.execute(
        "INSERT INTO people (name) VALUES (?1)",
        params![
            &Null
        ],
    ).unwrap();
} else {
    sqlite.execute(
        "INSERT INTO people (name) VALUES (?1)",
        params![
            person.name
        ],
    ).unwrap();
}
Run Code Online (Sandbox Code Playgroud)

我只能想象,在更现实的环境中,这样的事情会以多快的速度失去控制。是否有一些通用类型可以将字符串类型和 …

rust rusqlite

2
推荐指数
1
解决办法
1206
查看次数

使用JS获取CSS Calc宽度的问题

我需要制作一个基于屏幕宽度的正方形元素。为了将高度设置为与宽度相同,我尝试使用JS,但似乎有点错误。这是一个例子

var square = document.getElementById('square');
square.style.height = square.clientWidth + 'px';
Run Code Online (Sandbox Code Playgroud)
#square {
  background-color: blue;
  width: calc(20vw - 16px);
  padding: 8px;
}
Run Code Online (Sandbox Code Playgroud)
<div id="square">Element</div>
Run Code Online (Sandbox Code Playgroud)

上方的蓝色“正方形”不是正方形。能解释为什么吗?而不是clientWidth,我已经尝试过scrollWidthoffsetWidth得到类似的结果。我也没有style.width给出正确的数字。

即使您在Chrome上检查了蓝色正方形,您也会得到一个高度和宽度近似但仍然非常不同的数字。

html javascript css css-calc

0
推荐指数
1
解决办法
221
查看次数

标签 统计

css ×1

css-calc ×1

html ×1

javascript ×1

rusqlite ×1

rust ×1