亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從SQLite表中檢索最后一個自動遞增的ID?

如何從SQLite表中檢索最后一個自動遞增的ID?

慕田峪4524236 2019-12-21 12:54:48
我有一個表Messages,其列ID(主鍵,自動遞增)和Content(文本)。我有一個表Users,具有用戶名列(主鍵,文本)和哈希。一個發件人(用戶)將一條消息發送給許多收件人(用戶),并且一個收件人(用戶)可以有很多消息。我創建了一個具有兩列的表Messages_Recipients:MessageID(指的是Messages表的ID列和Recipient(指的是Users表中的username列)。該表代表了收件人和消息之間的多對多關系。所以,我的問題是這個。將新消息的ID存儲在數據庫中后,將創建該ID。但是,如何保留對我剛剛添加的MessageRow的引用,以檢索此新的MessageID?我總是可以在數據庫中搜索添加的最后一行,但是在多線程環境中可能返回其他行嗎?編輯:據我了解,對于SQLite,您可以使用SELECT last_insert_rowid()。但是,如何從ADO.Net調用此語句?我的持久性代碼(消息和消息收件人是數據表):public void Persist(Message message){    pm_databaseDataSet.MessagesRow messagerow;    messagerow=messages.AddMessagesRow(message.Sender,                            message.TimeSent.ToFileTime(),                            message.Content,                            message.TimeCreated.ToFileTime());    UpdateMessages();    var x = messagerow;//I hoped the messagerow would hold a    //reference to the new row in the Messages table, but it does not.    foreach (var recipient in message.Recipients)    {        var row = messagesRecipients.NewMessages_RecipientsRow();        row.Recipient = recipient;        //row.MessageID= How do I find this??        messagesRecipients.AddMessages_RecipientsRow(row);        UpdateMessagesRecipients();//method not shown    } }private void UpdateMessages(){    messagesAdapter.Update(messages);    messagesAdapter.Fill(messages);}
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 892 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號