java,C#插入数据到oracle11g数据库并返回其id

来源:互联网 发布:c语言If else例题 编辑:程序博客网 时间:2024/06/05 03:24

JAVA:

String strSql = "{call insert into DATA_DICT_TYPE (DICT_NAME,DICT_KEY) values(?,?) returning id INTO ? }";CallableStatement ps = conn.prepareCall(strSql);ps.setString(1, "??");ps.setString(2, "??");ps.registerOutParameter(3, Types.INTEGER);result = ps.executeUpdate();if (result > 0) {    BigDecimal bd = ps.getBigDecimal(3);}

C#:

using (DbConnection conn = new SqlConnection("connstr"))            {                conn.Open();                string strSql = "insert into DATA_DICT_TYPE (DICT_NAME,DICT_KEY) values(:DICT_NAME,:DICT_KEY) returning id INTO :id";                DbCommand cmd = conn.CreateCommand();                cmd.CommandText = strSql;                DbParameter param1 = new SqlParameter();                param1.ParameterName = "DICT_NAME";                param1.DbType = DbType.String;                param1.Value = DICT_NAME;                cmd.Parameters.Add(param1);                DbParameter param2 = new SqlParameter();                param2.ParameterName = "DICT_KEY";                param2.DbType = DbType.String;                param2.Value = DICT_KEY;                cmd.Parameters.Add(param1);                DbParameter param3 = new SqlParameter();                param3.ParameterName = "id";                param3.DbType = DbType.Decimal;                param3.Direction = ParameterDirection.ReturnValue;                param3.SourceColumn = "id";                param3.SourceVersion = DataRowVersion.Current;                param3.Value = decimal.Zero;                cmd.Parameters.AddRange(new DbParameter[] { param1, param2, param3 });                cmd.ExecuteNonQuery();                object id = cmd.Parameters["id"].Value;                return id;            }


0 0
原创粉丝点击