代码之家  ›  专栏  ›  技术社区  ›  Kyle Ryan

通过ODBC数据连接使用Int64参数的TableAdapter查询

  •  1
  • Kyle Ryan  · 技术社区  · 16 年前

    在这种情况下,Visual Studio设计器生成了一个方法,该方法将参数视为int,即使相应的数据库列被指定为System。Int64。

    SELECT *
    FROM my_table
    WHERE "status_id" = ?
    

    public virtual DataSet1.MyDataTable GetDataByStatusId(int status_id) { ... }
    

    3 回复  |  直到 16 年前
        1
  •  2
  •   Kyle Ryan    16 年前

        2
  •  0
  •   jle    16 年前

    编辑:对于bigint数据类型,您应该能够使用高达9223372036854775807的数字…对于int32,最高可达2147483647。换句话说,你使用的是PostgreSQL中的int64,它可以接受任何最多9223372036854775807的int。int32之所以有效,是因为该数字在该范围内始终有效。在。Net,您可以在许多数字数据类型之间隐式转换。例如,将一个int乘以1.0,它将变成一个double。不需要显式强制转换或转换。但是,如果不丢失数据,则无法向另一个方向投射。

        3
  •  0
  •   Peter Barroomking    6 年前

    虽然已经过去了很长时间,但这个错误似乎仍然存在。使用MySql(Maria)数据库,uint数据类型被解释为int,必须手动更改。