需要帮助,如何记录是否存在更新否则插入 [英] Need help on how to if record exists update else insert
本文介绍了需要帮助,如何记录是否存在更新否则插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图做一个if记录是否存在update语句else insert语句,并且无法通过以下行:
OracleDataReader reader = check_RID.ExecuteReader();
保持获取ora-00096缺少表达错误:
OracleConnection con = new OracleConnection(strConnection);
con.Open();
OracleCommand check_RID = new OracleCommand("SELECT COUNT(*) FROM CONTRACT_INFO WHERE (rid = @rid)", con);
check_RID.Parameters.Add("@rid", labelRID.Text);
OracleDataReader reader = check_RID.ExecuteReader();
if (reader.HasRows)
{
OracleConnection conn = new OracleConnection(); // C#
conn.ConnectionString = strConnection;
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "UPDATE...
cmd.ExecuteNonQuery();
conn.Close();
Response.Redirect("primecontractor.aspx?Id=" + labelRID.Text);
}
else
{
OracleConnection conn = new OracleConnection(); // C#
conn.ConnectionString = strConnection;
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.Connection = conn;
cmd.CommandText = "INSERT....
......
cmd.ExecuteNonQuery();
conn.Close();
推荐答案
OracleConnection con = new OracleConnection(strConnection);
try
{
con.Open();
OracleCommand cmd = new OracleCommand("SELECT COUNT(*) FROM CONTRACT_INFO WHERE (rid = @rid)", con);
check_RID.Parameters.Add("@rid", labelRID.Text);
count = command.ExecuteOracleScalar();
if (count > 0)
{
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "UPDATE...";
cmd.Connection = con;
cmd.ExecuteNonQuery();
Response.Redirect("primecontractor.aspx?Id=" + labelRID.Text);
}
else
{
OracleCommand cmd = new OracleCommand();
cmd.Connection = con;
cmd.CommandText = "INSERT....";
cmd.ExecuteNonQuery();
}
}
catch (Exception ex)
{
throw new ApplicationException(ex.Message, ex);
}
finally
{
con.Close();
}
这篇关于需要帮助,如何记录是否存在更新否则插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文