在这种情况下,Visual Studio 设计器会生成一个将参数作为 int 的方法,即使相应的数据库列指定为 System.Int64。
这是“TableAdapter 查询配置向导”中指定的查询:
SELECT *
FROM my_table
WHERE "status_id" = ?
同样,status_id 的类型为 System.Int64。这是设计师生成的:
public virtual DataSet1.MyDataTable GetDataByStatusId(int status_id) { ... }
为什么参数不是 Int64?这是 Visual Studio 中的错误吗?(我使用的是 2008 SP1。)我最终可能只是手动使用 OdbcCommand 类。
编辑:我使用的是 PostgreSQL,并且该列被指定为 bigint 类型。