gic06123
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数29
  • QQ342494838
  • 铜币240枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:3440回复:14

[求助]为何删掉一个多边形后图层文件损坏了

楼主#
更多 发布于:2005-04-15 10:41
<P>在vb 下,我用mo地以下语句删掉图层中的多边形之后,shape文件便损坏了,Arcview打不开,说有错误,用visualfoxpro 打开dbf文件也打不开,说不是一个表。请问有没有人知道是什么问题。谢谢!!!</P>
<P>recordset.Edit
recordset.Delete
recordset.MoveNext
recordset.StopEditing</P>
喜欢0 评分0
gic06123
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数29
  • QQ342494838
  • 铜币240枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2005-04-17 21:17
<P>有没有人支持一下 help!!!!</P>
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2005-04-18 09:39
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
gic06123
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数29
  • QQ342494838
  • 铜币240枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2005-04-22 10:35
没人知道是为了什么嘛?版主知道嘛?
举报 回复(0) 喜欢(0)     评分
gic06123
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数29
  • QQ342494838
  • 铜币240枚
  • 威望0点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2005-04-28 10:10
还是没人回答,是不是我来晚了。
举报 回复(0) 喜欢(0)     评分
wjckaxi
路人甲
路人甲
  • 注册日期2004-04-13
  • 发帖数144
  • QQ
  • 铜币149枚
  • 威望0点
  • 贡献值0点
  • 银元0个
5楼#
发布于:2005-06-01 14:52
<P>你的数据有多少?如果是超过10w很可能就会出现这样的情况。</P>
菜虫 欢迎光临Blog http://blog.sina.com.cn/wjckaxi
举报 回复(0) 喜欢(0)     评分
zchang81
路人甲
路人甲
  • 注册日期2005-05-11
  • 发帖数95
  • QQ
  • 铜币324枚
  • 威望0点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2005-06-03 09:29
<P>你的地图数据有没有挂接属性数据?</P>
<P>你必须要显示其他的代码,才可以知道为什么?</P>
举报 回复(0) 喜欢(0)     评分
gic06123
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数29
  • QQ342494838
  • 铜币240枚
  • 威望0点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2005-06-04 17:19
<P>谢谢<img src="images/post/smile/dvbbs/em04.gif" />,谢谢各位地指点,可是7楼地朋友说的数据挂接是什么意思,能不能说的在详细一些,或留下qq交流一下,谢谢</P>
举报 回复(0) 喜欢(0)     评分
gic06123
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数29
  • QQ342494838
  • 铜币240枚
  • 威望0点
  • 贡献值0点
  • 银元0个
8楼#
发布于:2005-06-12 20:19
<P>其实我的数据既没有超过十万条也没有挂接其它属性数据,就是用MapObject或ArcView提供的samples中的数据也会有以上问题,难道大家就从来没有碰到过嘛???</P>
<P>我试过,只要你用一个map1控件将MapObjects2.1\Samples\data\mexico\states.shp 文件加人,使用以上代码删掉几个多边形,你就会发现你每删一次,shp层上少一个多边形,而相应地dbf库中却会减少两条记录(用ADO连到一个DATAGRID控件中就会发现),这样导致多删几次之后,图层上还有多边形(map控件上显示地),而属性库中已没有记录,程序就会报错。如果从此图层中删掉几个多边形之后,这个图层在arcview中就打不开啦,dbf文件用vf也打不开。不信你试试。</P>
<P>从来没人发现过和我类似地问题嘛???</P>
<P>代码:在窗体上加map、adodc、datagrid、command控件先,然后在map属性中add图层states.shp.</P>
<P>Private Sub Command1_Click()<BR>  Set recs = Map1.Layers(0).Records<BR>  recs.Edit<BR>  recs.Delete<BR>  recs.MoveNext<BR>  recs.StopEditing<BR>  Map1.Refresh  <BR>  Adodc1.ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Extended   Properties=DSN=Visual FoxPro Database;UID=;SourceDB=" ; App.path ; "\temp2\;SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes"</P>
<P><BR>  Adodc1.RecordSource = Map1.Layers(0).Name</P>
<P>  Adodc1.CommandType = adCmdTable<BR>  Adodc1.Refresh<BR>  Set DataGrid1.DataSource = Adodc1'''''''''''''''''''将dbf文件绑定到datagrid上<BR>  DataGrid1.Refresh<BR>End Sub</P>
<P>不要按得太快,程序需要一定时间反应。</P>
举报 回复(0) 喜欢(0)     评分
gic06123
路人甲
路人甲
  • 注册日期2004-10-27
  • 发帖数29
  • QQ342494838
  • 铜币240枚
  • 威望0点
  • 贡献值0点
  • 银元0个
9楼#
发布于:2005-06-12 20:24
<P>我个人认为上述情况是由于图层中记录地FeatureId属性或shape.valueasstring属性有重复导致的,但不知怎么解决,请有经验地朋友指点。</P>
举报 回复(0) 喜欢(0)     评分
上一页
游客

返回顶部