Изменение строки в наборе данных и обновление базы данных - PullRequest
0 голосов
/ 18 января 2012

Мне нужно создать приложение, которое будет сохранять результаты в базе данных.Структура базы данных - NICK (string), который является первичным ключом, и PTS (int).Если у игрока есть НИК, который уже существует в базе данных;очки, которые он получил в последней игре, должны быть добавлены к PTS, соответствующему NICK.У меня проблемы с редактированием 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);
}

1 Ответ

0 голосов
/ 19 января 2012

Не уверен, в чем проблема, но я могу ответить, почему у вас нет методов FindByXXX (). Они генерируются Visual Studio при создании типизированных наборов данных. Более подробную информацию вы можете найти здесь :

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...