Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Какво е C# еквивалент на типа данни на geography sql сървър в .net framework 4.0?

Може да звучи очевидно, но защо не използвате същия тип данни, който е инсталиран като UDT в SQL Server - SqlGeography ?

Следното работи добре срещу екземпляр на SQL Server 2012. Не мога да тествам срещу SQL Server 2008, но предполагам, че трябва да работи по същия начин:

using System;
using Microsoft.SqlServer.Types;
using System.Data.SqlClient;
using System.Data;

namespace ConsoleApplication4
{
    class Program
    {
        static void Main()
        {
            var geom1 = SqlGeography.STGeomFromText(
                        new System.Data.SqlTypes.SqlChars(
                        "LINESTRING(-122.360 47.656, -122.343 47.656)"), 4326);
            var geom2 = SqlGeography.STGeomFromText(
                        new System.Data.SqlTypes.SqlChars(
                        "LINESTRING(-100.0 45.0, -1420 49.0)"), 4326);
            using(var conn = new SqlConnection(
                  @"Server=Server;Database=master;Integrated Security=SSPI;"))
            {
                using (var cmd = new SqlCommand(
                    "select @parm1.STIntersects(@parm2)", conn))
                {
                    var p1 = cmd.Parameters.Add("@parm1", SqlDbType.Udt);
                    p1.UdtTypeName = "geography";
                    p1.Value = geom1;
                    var p2 = cmd.Parameters.Add("@parm2", SqlDbType.Udt);
                    p2.UdtTypeName = "geography";
                    p2.Value = geom2;
                    conn.Open();
                    Console.WriteLine(cmd.ExecuteScalar());
                }
            }
            Console.ReadLine();
        }
    }

}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. LOG10() Примери в SQL Server

  2. Празно изявление в T-SQL

  3. Грешки:Инструкцията INSERT EXEC не може да бъде вложена. и Не може да използва израза ROLLBACK в рамките на оператор INSERT-EXEC. Как да решим това?

  4. Как да проверя дали съществува колона в таблица на SQL Server?

  5. Разбиране на функциите GROUPING и GROUPING_ID в SQL Server