我正在使用c#winfroms,我需要的是立即获得我插入的值的返回值。所以我有这样的陈述:
INSERT INTO MESSAGES (MESSAGEID, SENDER, RECEIVER, TITLE, MESSAGE, STATUS)
VALUES (
((SELECT MAX(MESSAGEID) FROM MESSAGES) + 1),
@Sender,
@Receiver,
@Title,
@Message,
0)
在此之后我需要messageid
我刚插入我的代码。
以下是完整功能以及需要显示的位置:
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();
}
}