NpgsqlConnection conn = new NpgsqlConnection(Settings.ConnectionString);
conn.Open();
NpgsqlCommand command = new NpgsqlCommand("select def_id from datatable where definition_id='00026b41-11e5-4557-823c-376a17e8253f'", conn);
Int16 _data = (Int16)command.ExecuteScalar();
这适用于SQL,但不适用于代码。
我收到了System.NullReferenceException。 我使用npgsql btw。 所选列具有smallInt格式。 另一个指导。 当我反向选择并尝试读取另一个表并将数据类型更改为guid相同的错误
都适用于SQL
答案 0 :(得分:1)
command.ExecuteScalar();
不返回任何值,例外情况是因为您想将其强制转换为Int16。你可以这样做:
Int16 _data = (Int16)(command.ExecuteScalar() ?? 0);