/// <inheritDoc />
        public override string GetLastInsertId(PDO pdo, string name)
        {
            pdo.ClosePendingReader();

            string last_insert_id_query;

            if (string.IsNullOrEmpty(name))
            {
                last_insert_id_query = "SELECT @@IDENTITY";
            }
            else
            {
                // TODO: "SELECT CURRENT_VALUE FROM SYS.SEQUENCES WHERE NAME=%s"
                throw new NotImplementedException(nameof(name));
            }

            using (var com = pdo.CreateCommand(last_insert_id_query))
            {
                var value = com.ExecuteScalar();
                if (value == null)
                {
                    // TODO: error
                    return(null);
                }

                return(value.ToString());
            }
        }
 /// <inheritDoc />
 public override string GetLastInsertId(PDO pdo, string name)
 {
     using (var cmd = pdo.CreateCommand("SELECT LAST_INSERT_ID()"))
     {
         object value = cmd.ExecuteScalar();
         return(value?.ToString());
     }
 }
Beispiel #3
0
 /// <inheritDoc />
 public override string GetLastInsertId(PDO pdo, string name)
 {
     using (var com = pdo.CreateCommand("SELECT SCOPE_IDENTITY()"))
     {
         object value = com.ExecuteScalar();
         return(value?.ToString());
     }
 }
Beispiel #4
0
 /// <inheritDoc />
 public override string GetLastInsertId(PDO pdo, string name)
 {
     //TODO firebird pdo characters escaping
     using (var cmd = pdo.CreateCommand("select gen_id('" + name + "', 0) from rdb$database"))
     {
         object value = cmd.ExecuteScalar();
         return(value?.ToString());
     }
 }
        /// <inheritDoc />
        public override string GetLastInsertId(PDO pdo, string name)
        {
            Debug.Fail("last_insert_id not implemented");

            // this is probably not correct:
            using (var cmd = pdo.CreateCommand("SELECT LAST_INSERT_ROWID()"))
            {
                object value = cmd.ExecuteScalar();
                return(value?.ToString());
            }
        }
Beispiel #6
0
        /// <inheritDoc />
        public override string GetLastInsertId(PDO pdo, string name)
        {
            // The last_insert_rowid() SQL function is a wrapper around the sqlite3_last_insert_rowid()
            // https://www.sqlite.org/lang_corefunc.html#last_insert_rowid

            using (var cmd = pdo.CreateCommand("SELECT LAST_INSERT_ROWID()"))
            {
                object value = cmd.ExecuteScalar(); // can't be null
                return(value != null?value.ToString() : string.Empty);
            }
        }
 /// <summary>
 /// Creates command using provided PDO driver.
 /// </summary>
 public static DbCommand CreateCommand(this PDO pdo, string statement) => pdo.CreateCommand(statement);