SqlDbType and Geography

前端 未结 3 1937
天命终不由人
天命终不由人 2021-01-11 22:11

What SqlDbType enumeration should I use when my column is the Geography type? I\'m using MS SQL Server 2008 R2.

This is what I\'m looking for specifically:

3条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-11 22:35

    When I tried to use SqlDbType.NVarChar I received and error

    Failed to convert parameter value from Geography to a String

    What resolved this problem for me was to use SqlDbType.Udt

    var pgeo = cmd.Parameters.Add("@GeoLocation", SqlDbType.Udt);
    pgeo.UdtTypeName = "Geography";
    

    And then later, in a loop, I set the value of the parameter:

    var ss = new SqlString(objValue.ToString());
    var sc = new SqlChars(ss);
    var geocode = SqlGeography.STPointFromText(sc, 4326);
    cmd.Parameters["@GeoLocation"].Value = geocode;
    

    Note: this requires Microsoft.SqlServer.Types and System.Data.SqlTypes

提交回复
热议问题