默认头像
路人甲
路人甲
  • 注册日期2008-02-28
  • 发帖数10
  • QQ
  • 铜币151枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1884回复:4

用ADO关联外部数据表出错?

楼主#
更多 发布于:2008-03-17 09:40

语言:C#

ADO:2.5

代码如下:

           connStr = "PROVIDER=sqloledb;";
           connStr += "initial catalog=xgkdw;Server=FCEBC2D739094F0\\LVJL;";
           connStr += "user id=sa;password=123456;";
           sqlStr = "select FID,LocationX,LocationY,LocationName from StationLocation where FID = '011'";

           ADODB.Connection pConn=new ADODB.Connection();
           ADODB.Command pCommand = new ADODB.Command();
           pCommand.CommandText = sqlStr;

           //pCommand.ActiveConnection = pConn;
           pCommand.CommandType = ADODB.CommandTypeEnum.adCmdText;
           pConn.ConnectionString = connStr;
           pConn.Mode = ADODB.ConnectModeEnum.adModeReadWrite;//只读方式
           pConn.Open(connStr, "sa", "123456", 0);//打开联接
           //object recordsAffected;
           //pConn.Execute(sqlStr, out recordsAffected, 1);//执行查找
           ESRI.MapObjects2.Core.Recordset recs;
           pTable = new ESRI.MapObjects2.Core.Table();
           pTable.Command = pCommand;
           recs = pTable.Records;
           while (!recs.EOF)
           {
               label1.Text = "connect succeed!";
               label3.Text = recs.Fields.Item(3).Value.ToString();
               recs.MoveNext();
           }    

当我执行的时候,为什么执行到recs = pTable.Records;时报错,错误如下:The Recordset could not be created.数据库的设置应该是没错的,为什么不能正确生成recordset?请高手指点,我看到一些VB程序是这样建立的,我改成c#为什么就不行了呢?

喜欢0 评分0
默认头像
路人甲
路人甲
  • 注册日期2008-02-28
  • 发帖数10
  • QQ
  • 铜币151枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2008-04-14 20:46
没错,可以直接得到table对象,然后就可以实现关联了。
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2006-02-15
  • 发帖数47
  • QQ
  • 铜币273枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2008-03-31 11:10
看错了,MD原来是MO的
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2006-02-15
  • 发帖数47
  • QQ
  • 铜币273枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2008-03-30 17:56
不错,我一直在找用ADO构造ITable的方法,你这个是不是就已经得到ITable了呢?
举报 回复(0) 喜欢(0)     评分
默认头像
路人甲
路人甲
  • 注册日期2008-02-28
  • 发帖数10
  • QQ
  • 铜币151枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2008-03-17 15:40
解决了,哈哈,在pCommand.ActiveConnection = pConn;语据之前应该先设置pConn.ConnectionString属性。
举报 回复(0) 喜欢(0)     评分
默认头像

返回顶部