/// <summary> /// Inserta la fila pasada por parámetro en la base de datos. La tabla en la que se insertará dependará del campo TableName. /// </summary> /// <param name="newRow">Fila nueva que se insertará en la base de datos.</param> /// <returns>La fila insertada, con los id's inicializados de la base de datos.</returns> public virtual DataRow Insert(DataRow newRow) { try { if (newRow == null) { throw new NullReferenceException("Cannot insert a null row"); } string query = "SELECT * FROM " + this.TableName; DbDataAdapter adapter; if (uniqueconn == null) { connect(); adapter = sql.Adapter(query, conn); } else { adapter = sql.Adapter(query, uniqueconn); } DataSet dSet = new DataSet(); adapter.Fill(dSet, this.TableName); DataTable dTable = dSet.Tables[this.TableName]; rowReturned = true; voidRow = dTable.NewRow(); DataRow addRow = dTable.NewRow(); addRow.ItemArray = newRow.ItemArray; dTable.Rows.Add(addRow); sql.Builder(adapter); adapter.Update(dSet, tablename); return(this.Last()); } catch (Exception ex) { throw ex; } finally { if (uniqueconn == null) { disconnect(); } } }