使用ShapeLib讀寫dbf數據

在批量更新dbf數據值時,使用ShapeLib讀寫dbf數據的效率非常驚人。

首先通過cvs獲取ShapeLib庫,http://shapelib.maptools.org/,編譯生成shapelib.dll

編譯方法參考:https://blog.csdn.net/cair2/article/details/52193064

下面重點講一下怎麼使用ShapeLib對dbf數據進行讀寫:

另外shapelib.dll不需要引用到項目裏面,放到根目錄即可

1、打開dbf

IntPtr hDbf = ShapeLib.DBFOpen(textBox1.Text, "rb+");//"rb"(只讀)"rb+"(讀/寫)
if (hDbf.Equals(IntPtr.Zero))
{
MessageBox.Show("打開dbf文件失敗", "系統提示");
}

2、獲取字段索引

 int index = ShapeLib.DBFGetFieldIndex(hDbf, "名稱");

3、讀取字段值

 

StringBuilder str = new StringBuilder();
ShapeLib.DBFReadStringAttribute2(hDbf, i,index, str);//讀取字段的值,並將其作爲字符串返回。

4、寫入字段新值

 

ShapeLib.DBFWriteStringAttribute(hDbf, i, index, "字段新值");


通過以上4個步驟,就能實現dbf數據的讀寫了。

附上ShapeLib的幫助類:http://pan.baidu.com/s/1qWGE6hI

編譯好的DLL https://download.csdn.net/download/zdb330906531/10442859

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章