I am working with C# WinForms and what I need is to immediately get returned value of what I have inserted. So I have statement like this:
INSERT INTO MESSAGES (MESSAGEID, SENDER, RECEIVER, TITLE, MESSAGE, STATUS)
VALUES (
((SELECT MAX(MESSAGEID) FROM MESSAGES) + 1),
@Sender,
@Receiver,
@Title,
@Message,
0)
and after this I need messageid
I just inserted for my code.
Here is full function and where it needs to appear:
private void send_btn_Click(object sender, EventArgs e)
{
using (FbConnection con = new FbConnection(Properties.Resources.connectionString_EB))
{
con.Open();
using (FbCommand cmd = new FbCommand("INSERT INTO MESSAGES (MESSAGEID, SENDER, RECEIVER, TITLE, MESSAGE, STATUS) VALUES (((SELECT MAX(MESSAGEID) FROM MESSAGES) + 1), @Sender, @Receiver, @Title, @Message, 0)", con))
{
cmd.Parameters.AddWithValue("@Sender", EB.CurrentUser.userId);
cmd.Parameters.Add("@Receiver", FbDbType.Integer);
cmd.Parameters.AddWithValue("@Title", title_txt.Text);
cmd.Parameters.AddWithValue("@Message", message_rtxt.Text);
foreach(Int_String c in receiver_clb.CheckedItems)
{
cmd.Parameters["@Receiver"].Value = c._int;
cmd.ExecuteNonQuery();
if(EB.Users.Logged(c._int))
{
//Get sent message id
}
}
MessageBox.Show("Message successfully sent!");
}
con.Close();
}
}