2015-04-06 77 views
0

我是統一3D v4.5 pro的新程序員,我爲統一3D使用增強現實應用程序,並且我選擇了SQLite來創建並輕鬆處理我的數據庫(在構建它之後機器人)。我在這裏發現了兩個腳本在java http://wiki.unity3d.com/index.php/SQLite ...我將它轉換爲C#(因爲我用C#編程),它幫助了我很多,但我找不到方法「查詢」刪除例如只有firstName或LastName。 。我試過這樣:統一的SQLite本地數據庫3D

public void DeleteFrom (String tableName,String itemToDelete, String wPar,String wValue) 
{ 
    string query ; 
    query = "DELETE FROM " + tableName + " WHERE " + itemToDelete + wPar + wValue ;   
    dbcmd = dbcon.CreateCommand(); 
    dbcmd.CommandText = query; 
    reader = dbcmd.ExecuteReader(); 
} 

然後我把它在其他腳本「usethe數據庫」,因爲它是波紋管

public void DeleteRow(string FirstName) 
{ 
    db.DeleteFrom("'"+TableName+"'","FirstName","=","'"+firstName+"'"); 
} 

但我得到的是刪除整個行(名姓)

我不知道你是否理解我的意思:我只是想del ete firstName並保留在我的數據表中,它的分配是lastName,因此我可以在以後爲其分配任何其他新的firstName。我希望你明白我的觀點。請,我會感謝任何幫助,並提前致謝。 :)

回答

0

如果我正確理解你,這聽起來像你不想做一個實際的刪除。沒有這樣的東西,刪除一個字段,只有一整行。相反,你想要的是一個更新。使用此代碼,以清除行的第一個名稱字段:

public void ClearFirstName(string tableName, string firstname) 
{ 
    string query ; 
    query = "UPDATE " + tableName + " SET FirstName = '' WHERE FirstName = '" + firstname + "'";   
    dbcmd = dbcon.CreateCommand(); 
    dbcmd.CommandText = query; 
    reader = dbcmd.ExecuteReader(); 
} 

這段代碼的問題是,一旦你明確的第一個名字,那麼你將無法引用它第二次(它將是空的)。我建議你添加一個唯一的數字ID字段來引用表中的每一行。然後,您可以在SQL語句的WHERE子句中使用該ID。

+0

嘿泰勒日,非常感謝你的代碼工作正常:)。是的,我打算改變並稍後使用ID引用每一行..我只是想現在嘗試這個例子.. – Narkinchi

相關問題