上一篇文章提到的刪除資料方法是直接指定要刪除第幾筆資料,但資料很多時如何去計算要刪除資料的位置(索引編號)?


有很多方法可以處理這個問題,這裡只寫出最簡單的方法,就是用搜尋法

 


以下是用來測試的MySQL資料庫,如畫面所顯示共有3筆資料,這裡要直接刪除欄位ts_name名稱裡有"阿兩"的那一筆資料

20100414-01  

 

 

沿用上一篇的程式

20100414-02  

 

把ADO Recordset Move.vi用ADO Recordset Find.vi取代


搜尋的語法是:欄位名稱='要搜尋的字串'


在這裡就是:ts_name='阿兩',要注意要搜尋的字串前後必需加上單引號

 


這個方法有個問題?那就是若資料庫內沒有那筆資料時程式會出現錯誤訊息,因為不能刪除不存在的資料


那要如何避開這個問題?在ADO Recordset Find.vi後面再串連ADO Recordset EOF.vi搭配Case Structure,搜尋不到資料時就不執行刪除動作


ADO Recordset Find.vi用來搜尋並指定特定欄位的資料位置,要注意搜尋的字串大小寫是視為不同的資料


ADO Recordset EOF.vi的用途是偵測指定的資料位置是否為資料庫的最後一筆資料之外,在這裡是偵測是否已搜尋到所有資料的最後面

 

 

在這裡還有一個問題?若你下載的是目前最新LabSQL-1.1a.zip這一版本,那可能找不到ADO Recordset Find.vi這個程式


幸好LabSQL的程式碼是完全公開的,可以用Invoke Node元件取代ADO Recordset Find.vi,Invoke Node元件在連線後選擇Find那一項即可

20100414-03  

,

未出師的小工程師 發表在 痞客邦 PIXNET 留言(0) 人氣()