¿Existe un equivalente de C# DataTable en Java?equivalente de DataTable en Java
Respuesta
A similar question that has been asked recently. ResultSet ciertamente no es un equivalente directo, ya que solo funciona con una conexión activa a la base de datos, mientras que una DataTable se puede usar "fuera de línea".
Por experiencia personal, diría que no existe un equivalente directo en Java (aunque no lo he intentado con javax.sql.rowset.WebRowSet
). O vas con SQL simple y java.sql.ResultSet
es tu amigo. O utiliza alguna herramienta ORM como Hibernate, Cayenne, Toplink para nombrar unos pocos. O construyes el tuyo (no es que lo anime, pero creo que en más de un proyecto se ha hecho con éxito).
considerar el uso de un
java.sql.ResultSet
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("select * from generic_table");
ResultSetMetaData md = rs.getMetaData();
No - no en las bibliotecas estándar (es decir, el API de Java).
Una solución alternativa que he usado es JTable. No tiene las características de datos robustas de una DataTable adecuada, pero le permitirá tomar algunos datos y vincularlos a un control con cierta estructura.
class TableModel extends AbstractTableModel
{
String[] columnNames = {“FirstName”,”LastName”,”Title”};
Object[][] rowData= {{‘John,”Smith”,”President”},{“John”,”Doe”,”Employee”}};
public int getColumnCount()
{
return columnNames.length;
}
public int getRowCount()
{
return rowData.length;
}
public String getColumnName(int col)
{
return columnNames[col];
}
public Object getValueAt(int row, int col)
{
return data[row][col];
}
}
Y después de usar simplemente:
JTable table = new JTable(new TableModel());
De nuevo, esto es rápida y sencilla, y si se trata de grandes cantidades de datos, recomendaría el uso de una herramienta adecuada ORM.
Dale este marco una oportunidad:
Su biblioteca conjunto de datos en memoria que es genérico y también un tipo seguro. Puede:
- datos Obtener automáticamente de consultas relacionales (o de cualquier otra fuente programática),
- compleja cuestión, consultas encadenadas contra el conjunto de datos,
- optimizar un determinado conjunto de datos mediante la especificación de índices en columnas particulares.
Es fácil de usar y no tiene dependencias importantes. También es compatible con java.sql.ResultSet, por lo que es posible integrarlo fácilmente en cualquier aplicación existente que consulte la base de datos relacional
de la biblioteca estándar DefaultTableModel
es una buena clase.
ResultSet set = s.getResultSet();
ResultSetMetaData metaData = set.getMetaData();
int totalColumn = metaData.getColumnCount();
Object[] dataRow = new Object[totalColumn];
if(set!= null)
{
for(int i=1;i<=totalColumn;i++)
{
table.addColumn(metaData.getColumnName(i));
}
while(set.next())
{
for(int i=1;i<=totalColumn;i++)
{
dataRow[i-1] = set.getObject(i);
}
table.addRow(dataRow);
}
}
- 1. __LINE__ equivalente en Java?
- 2. DebugBreak equivalente en Java?
- 3. xml.etree.ElementTree equivalente en Java
- 4. sprintf equivalente en Java
- 5. equivalente de memcmp() en Java?
- 6. equivalente de ungetc En java
- 7. de Java() equivalente en pitón
- 8. Java equivalente de OpenLayers
- 9. Java Map equivalente en C#
- 10. ¿Hay equivalente epoll en Java?
- 11. C# DateTime.Ticks equivalente en Java
- 12. Java System.currentTimeMillis() equivalente en C#
- 13. Bloques ObjectiveC equivalente en Java
- 14. Java Mahout equivalente en Python
- 15. ¿Equivalente a #define en Java?
- 16. NServiceBus equivalente en Java world
- 17. Java TreeMap equivalente en C#?
- 18. Python "Evento" equivalente en Java?
- 19. equivalente en Java de String.match de JavaScript()
- 20. Equivalente de IllegalArgumentException de Java en C++
- 21. Equivalente de HashSet de Java en PHP
- 22. equivalente en Java de struct.pack de Python?
- 23. equivalente de java de swfobject
- 24. Equivalente de Java de Reflection.Emit
- 25. Yacc equivalente para Java
- 26. Anotación Java equivalente C#
- 27. Java equivalente de Invariant Culture
- 28. 'equivalente de amigos' para Java?
- 29. Equivalente de C++ map.lower_bound en Java
- 30. equivalente de Java a bisección en python
pero aquí, necesito recorrer, usando resultSet.next(). No puedo decir, dame los valores de la columna 1 o dame el valor en (2,2) – Ajay