Problem Inserting data
Hi, i have this code.
public String addButton_action(){
if ( empresaDataProvider.canAppendRow() ){
try{
RowKey rowKey = empresaDataProvider.appendRow();
empresaDataProvider.setCursorRow(rowKey);
empresaDataProvider.setValue("RazaoSocial",rowKey,input_razao_novo.getValue());
empresaDataProvider.setValue("Responsavel",rowKey,input_responsavel_novo.getValue());
empresaDataProvider.setValue("Email",rowKey,input_email_novo.getValue());
empresaDataProvider.setValue("DDDTelefone",rowKey,input_ddd_novo.getValue());
empresaDataProvider.setValue("NroTelefone",rowKey,input_telefone_novo.getValue());
empresaDataProvider.setValue("Logo",rowKey,input_logo_novo.getValue());
empresaDataProvider.commitChanges();
It adds to the page im viewing but don't add to the database, what can be the problem?
I can update and delete rows normally.
Im using MS SQL Server.
# 5
Can you try
RowKey empresaRowKey;
int numeroRegistros;
numeroRegistros = empresaDataProvider.getRowCount();
if ( numeroRegistros == 0){
//info("No hay registros de empresas");
boolean nada;
} else{
boolean ok = true;
empresaRowKey = empresaDataProvider.findFirst("empresa.RazaoSocial",input_razao_novo.getValue() );
if (empresaRowKey != null) {
error("Existe un propietario con ese identificador '"+input_razao_novo.getValue()+"' Pruebe con otro....");
ok = false;
}
if (!ok) {
return null;
}
}
empresaRowKey = empresaDataProvider.appendRow();
empresaDataProvider.setValue("empresa.RazaoSocial",empresaRowKey,input_razao_no vo.getValue());
empresaDataProvider.commitChanges();
# 6
I create my CachedRowSet using this:
empresaRowSet.setDataSourceName("java:comp/env/jdbc/Project");
empresaRowSet.setCommand("SELECT ALL dbo.Empresa.RazaoSocial, dbo.Empresa.Responsavel, dbo.Empresa.Email, dbo.Empresa.DDDTelefone, dbo.Empresa.NroTelefone, dbo.Empresa.Logo, dbo.Empresa.CodEmpresa FROM dbo.Empresa ");
empresaRowSet.setTableName("Empresa");
Than I set the DataProvider in the page using this:
empresaDataProvider.setCachedRowSet((javax.sql.rowset.CachedRowSet)getValue("#{EmpresaBean.empresaRowSet}"));
This piece of code is in init() method of the jsp page.
RowKey empresaRowKey = getEmpresaBean().getEmpresaAtualRow();
Integer pid = (Integer) empresaDataProvider.getValue("CodEmpresa");
if (empresaRowKey == null) {
empresaDataProvider.cursorFirst();
empresaRowKey = empresaDataProvider.getCursorRow();
try {
getEmpresaBean().getEmpresaRowSet().setObject(1, pid);
getEmpresaBean().getEmpresaRowSet().execute();
empresaDataProvider.cursorFirst();
} catch (Exception ex) {
log("Error Description", ex);
}
} else {
empresaDataProvider.setCursorRow(empresaRowKey);
}
I use this to update, and it works fine
try {
empresaDataProvider.commitChanges();
empresaDataProvider.refresh();
To insert I use this line of code:
public String addButton_action() {
if ( empresaDataProvider.canAppendRow() ) {
try {
RowKey rowKey = empresaDataProvider.appendRow();
empresaDataProvider.setCursorRow(rowKey);
empresaDataProvider.setValue("RazaoSocial",rowKey,input_razao_novo.getValue());
empresaDataProvider.setValue("Responsavel",rowKey,input_responsavel_novo.getValue());
empresaDataProvider.setValue("Email",rowKey,input_email_novo.getValue());
empresaDataProvider.setValue("DDDTelefone",rowKey,input_ddd_novo.getValue());
empresaDataProvider.setValue("NroTelefone",rowKey,input_telefone_novo.getValue());
empresaDataProvider.setValue("Logo",rowKey,input_logo_novo.getValue());
empresaDataProvider.commitChanges();
I tried putting Empresa before the column name, but it didn't work.