Npgsql F#参数化查询

时间:2014-12-04 19:59:24

标签: .net f# npgsql

我尝试在FSharp中使用Npgsql参数化查询,但我无法正确获取Npgsql来更新参数值。示例代码如下所示:

let ins_command = new NpgsqlCommand("SELECT * FROM test_table WHERE keyid = :keyid")
ins_command.Parameters.Add(new NpgsqlParameter("keyid", NpgsqlTypes.NpgsqlDbType.Integer)) |> ignore
for key in keys do
    ins_command.Parameters.["keyid"].Value = (box key)
    ins_command.ExecuteScalar())

" keyid"参数始终设置为null,当作为监视变量查看时,它永远不会设置。不使用AddWithValue如何在FSharp中正确设置这些参数?

1 个答案:

答案 0 :(得分:2)

我不知道图书馆,但行

ins_command.Parameters.["keyid"].Value = (box key)

看起来它什么都不做。除非=运算符已更改,否则这只是对相等性的测试。 给出编译器警告,因为检查相等性是bool类型,并且此行不对结果执行任何操作。

如果要使用属性设置器(或分配给可变值),请使用运算符<-

相关问题