Reputation: 41
I'm trying to update a row in a table. If row.FirstMessageId == null then I ask the Messages table for the first message for that specific chat. I then put the Message.id into row.FirstMessageId
But... nothing happens. Database is not updated.
What am I missing? Thank you. :)
using (ChatsTableAdapter chatsTableAdapter = new ChatsTableAdapter())
using (ArchiveDataSet.ChatsDataTable chats = chatsTableAdapter.GetData())
foreach (ArchiveDataSet.ChatsRow chat in chats)
{
if (chat.IsFirstMessageIdNull())
using (ArchiveDataSet.MessagesDataTable messages =
new MessagesTableAdapter().GetFirstMessage
(chat.ChatId))
if (messages.Rows.Count is 1)
{
ArchiveDataSet.MessagesRow message = (ArchiveDataSet.MessagesRow)(messages.Rows[0]);
chat.FirstMessageId = message.MessageId;
chat.AcceptChanges();
}
}
Upvotes: 0
Views: 37
Reputation: 41
Solution found.
I update the data via chatsTableAdapter.Update(row)
.
(never mind the if (messages.Rows.Count is 1)
, the original database is not 'clean' which means I, for now, better ignore some things)
using (ChatsTableAdapter chatsTableAdapter = new ChatsTableAdapter())
using (ArchiveDataSet.ChatsDataTable chats = chatsTableAdapter.GetData())
foreach (ArchiveDataSet.ChatsRow chat in chats)
{
if (chat.IsFirstMessageIdNull())
using (ArchiveDataSet.MessagesDataTable messages =
new MessagesTableAdapter().GetFirstMessage(chat.ChatId))
if (messages.Rows.Count is 1)
{
ArchiveDataSet.MessagesRow message = (ArchiveDataSet.MessagesRow)(messages.Rows[0]);
chat.FirstMessageId = message.MessageId;
chatsTableAdapter.Update(chat);
}
}
Upvotes: 1