【发布时间】:2019-08-23 07:07:12
【问题描述】:
我有一个 Microsoft SQL Server 2008 (SP3) 数据库。我能够使用 Geography 数据类型将一些地理空间数据写入表中。
我现在正在尝试从数据库中读取数据,但出现错误:
DataReader.GetField(2) 返回 null
数据栏中当然有信息。
下面的代码很简单。我正在使用 .NET Framework 4.7。有什么明显的事情我没有处理吗?
string sql = @"
SELECT *
FROM Locations
WHERE LocID= " + tableOutput.OID.ToString();
System.Data.DataSet ds = Database.RequestData(sql);
static public System.Data.DataSet RequestData(string sql)
{
System.Data.DataSet ds = null;
try
{
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (SqlDataAdapter importer = new SqlDataAdapter(sql, conn))
{
ds = new System.Data.DataSet();
importer.Fill(ds, "Data");
return ds;
}
}
}
catch (Exception e)
{
Logger.Write(e.Message);
return ds;
}
}
【问题讨论】:
-
@IanKemp 感谢您的想法,我确实从 MS 论坛中找到了这些说明。我曾希望这会得到修复,但它仍然返回相同的错误。
标签: c# sql sql-server sql-server-2008 geography