2012-01-18 186 views
0

我需要製作一個應用程序,它將數據庫中的分數保存起來。數據庫的結構是NICK(string),它是主鍵和PTS(int)。如果玩家擁有數據庫中已存在的NICK,在上一場比賽中他得到的積分應該加到對應於NICK的PTS上。我無法編輯DataSet,然後更新數據庫。更改數據集中的行並更新數據庫

我試過讓它作爲MSDN顯示,但我沒有FindBy(...)方法。我花了2天的時間搜索答案,無法得到它。

這裏是代碼,我寫道:

private void dodajigrajbutton_Click(object sender, EventArgs e) 
{ 
    nick = nicktextBox.Text; 

    DataRow[] daneGracza = this.tFSDataSet.JIPP.Select("NICK = '" + nick + "'"); 
    DataTable table = new DataTable(); 
    table.Columns.Add("NICK", typeof(string)); 
    table.Columns.Add("PTS", typeof(int)); 

    try 
    { 
     int temp; 

     tFSDataSet.AcceptChanges(); 
     if (!daneGracza[0].IsNull("NICK")) { } 
     temp = (int)daneGracza[0].ItemArray[1]; 
     table.Rows.Add(nick, temp+points); // there are good values here 

     // here should be code editing row in data set, but i had unheld 
     //exceptions when trying to do it like 
     //daneGracza[0].ItemArray[1] = table.Rows[0]; 

     this.jIPPTableAdapter.Update(tFSDataSet); 

    } 
    catch (IndexOutOfRangeException ex) 
    { 
     this.jIPPTableAdapter.Insert(nick, points); 
    } 
    points = 0; 
    this.jIPPTableAdapter.Fill(this.tFSDataSet.JIPP); 
} 

回答

0

不知道是什麼問題,但我可以回答你爲什麼沒有FindByXXX()方法。當您創建類型化數據集時,它們由visual studio生成。更多信息你可以找到here