首页 新闻 会员 周边

win10电脑上用ado.net访问sql server 2008似乎有问题。DataReader.GetFieldType(2) 返回了 null

0
悬赏园豆:5 [已解决问题] 解决于 2019-02-18 09:59

一个简单的程序,功能是通过ado.net访问sql server 2008

但是如果数据库表中包含有类型为geography的字段,则代码在访问数据库时报错

 

报错内容是:

“System.InvalidOperationException”类型的未经处理的异常在 System.Data.dll 中发生

其他信息: DataReader.GetFieldType(20) 返回了 null。

 

代码如下:

复制代码
 public void GetData()
        {
            string sConnectionString; 

            //连接数据库字符串

            sConnectionString = @"Data Source=xx.xx.xx.xx;Initial Catalog=xx;Persist Security Info=True;User ID=x;Password=xx";

            //创建SqlConnection数据库连接对象

            SqlConnection Conn = new SqlConnection(sConnectionString);

            //打开Conn

            Conn.Open();

            SqlDataAdapter Customer = new SqlDataAdapter("Select * From test", Conn);

            DataSet ds = new DataSet();

            //填充数据集

            Customer.Fill(ds, "Customers");
        }
复制代码

 

报错行在Customer.Fill(ds, "Customers");

 

同样的代码,同样的数据库,在win7电脑上执行没问题。

 

报错截图如下:

step的主页 step | 初学一级 | 园豆:2
提问于:2017-02-05 09:43
< >
分享
最佳答案
0

看一下你的.NET配置环境,可能你win10 和 win7 上引用的System.Data.dll不同

收获园豆:5
东秦男人 | 菜鸟二级 |园豆:240 | 2017-02-06 17:47

怎么看?

step | 园豆:2 (初学一级) | 2017-02-09 17:15
其他回答(1)
0

不是什么win10的问题,很明显是你代码问题


Jeffcky | 园豆:2789 (老鸟四级) | 2017-02-05 16:50

什么问题,实际执行过的代码

支持(0) 反对(0) step | 园豆:2 (初学一级) | 2017-02-09 17:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册