-
Conteúdo Similar
-
Por brunopeople
Eu estou fazendo um projeto de CRUD consumindo uma API Restfull com banco de dados mongoDB para uma teste de vaga de emprego, eu fiz a aplicação e ela roda sem erros nenhum, porém ao adicionar o registro do post ele não está adicionando o registro no banco de dados? Eu não consegui realmente encontrar o erro do por que isto está acontencendo ou por que? eu gostaria muito de alguém me ajudasse.
https://github.com/brunopeople/Teste-RedFox-Full-Stack
-
Por Rui PG
Olá Amigos!
Por favor, vocês poderiam me ajudar em uma questão, sou muito novo em desenvolvimento e acabei pegando o barco andando aqui na empresa :) rs.
NECESSIDADE
- Carregar os dados que vem da procedure "Proc_Lista" nas colunas que foram criadas manualmente no Datagrid.
- Ao clicar no checkbox, da coluna “Selecionar”, de qualquer linha do Datagrid, os dados da linha devem ser apresentados nos campos do Form (TextBox e Combobox).
- Ao desmar o checkbox da linha selecionada no Datagrid, os dados devem ser limpos do Form.
O que eu tentei fazer
Quando executo o programa o sistema está criando os campos automaticamente dentro do datagrid e deveria carregar dentro de cada coluna que foi criada.
Resultado que está dando errado, quando carrego os dados no datagrid.
O código está substituindo os meus campos que terminam com o (X), nesse caso preciso que as informações carreguem dentro dos campos terminados em (X) na qual eu criei manualmente, porém respeitando as camadas do projeto na qual descrevi abaixo.
(Print do form em execução)
CAMADA DE DADOS
- Lista os Dados para o DataGrid
public DataTable MostrarVisita(int CODALUNO)
{
comando.Connection = conexao.Conectar();
comando.CommandText = "Proc_Lista_FollowupDetalheVisita";
comando.CommandType = CommandType.StoredProcedure;
comando.Parameters.AddWithValue("@CODALUNO", CODALUNO);
leer = comando.ExecuteReader();
tabela.Load(leer);
conexao.Desconectar();
return tabela;
}//fim do bloco
CAMADA DE NEGOCIOS
public DataTable MostrarFollowupGeral(string CODALUNO)
{
DataTable tabela = new DataTable();
tabela = objetoFollowupGeral.MostrarVisita(Convert.ToInt32(CODALUNO));
return tabela;
}
CAMADA DO USUARIO
private void MostrarFollowupVisita()
{
dtgVisita.Columns.Clear
var columnCheck = new DataGridViewCheckBoxColumn();
columnCheck.HeaderText = "[x]";
this.dtgVisita.Columns.Add(columnCheck);
var varCodAlunoII = txtCodAluno.Text;
FollowupGeralModel objectInterno = new FollowupGeralModel(); dtgVisita.DataSource = objectInterno.MostrarFollowupGeral(varCodAlunoII.ToString());
dtgVisita.Columns[1].Visible = false;
txtTotalLinhaDataGrid.Text = dtgVisita.RowCount.ToString();
}
-
Por tekton
Olá pessoal, uma empresa pediu pra fazer um teste e mandou fazer um CRUD com Nome, Email, Telefone e Endereço. Seguindo as aulas da parte de CRUD do Bonieky Lacerda tentei incluir mais dois itens mas não está dando certo. Não sei o que posso estar fazendo errado. Vou colocar os códigos para mostrar.
// BANCO -- phpMyAdmin SQL Dump -- version 4.9.0.1 -- https://www.phpmyadmin.net/ -- -- Host: localhost:8889 -- Tempo de geração: 07/11/2019 às 17:05 -- Versão do servidor: 5.7.26 -- Versão do PHP: 7.3.8 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; -- -- Banco de dados: `teste` -- -- -------------------------------------------------------- -- -- Estrutura para tabela `tab_teste` -- CREATE TABLE `tab_teste` ( `id` int(11) NOT NULL, `nome` varchar(100) NOT NULL, `email` varchar(50) NOT NULL, `telefone` int(20) NOT NULL, `endereco` varchar(100) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- -- Índices de tabelas apagadas -- -- -- Índices de tabela `tab_teste` -- ALTER TABLE `tab_teste` ADD PRIMARY KEY (`id`); -- -- AUTO_INCREMENT de tabelas apagadas -- -- -- AUTO_INCREMENT de tabela `tab_teste` -- ALTER TABLE `tab_teste` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT; // INDEX DO CRUD <?php include 'teste.class.php'; $teste = new Teste(); ?> <h1>teste</h1> <table border="1" width="500"> <tr> <th>ID</th> <th>Nome</th> <th>Email</th> <th>Telefone</th> <th>Endereço</th> </tr> <?php $lista = $teste->getAll(); foreach ($lista as $item): ?> <tr> <td><?php echo $item['id']; ?></td> <td><?php echo $item['nome']; ?></td> <td><?php echo $item['email']; ?></td> <td><?php echo $item['telefone']; ?></td> <td><?php echo $item['endereco']; ?></td> </tr> <?php endforeach; ?> </table> // CRUD <?php class Teste { private $pdo; public function __construct(){ $this->pdo = new PDO("mysql:dbname=teste;host=localhost", "root","root"); } public function adicionar($nome, $email, $telefone, $endereco){ if($this->existeEmail($email) == false){ $sql = "INSERT INTO tab_teste (nome, email, telefone, endereco) VALUES (:nome, :email, :telefone, :endereco)"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':nome', $nome); $sql->bindValue(':email', $email); $sql->bindValue(':telefone', $telefone); $sql->bindValue(':endereco', $endereco); $sql->execute(); return true; } else{ return false; } } public function getNome($email){ $sql = "SELECT nome FROM tab_teste WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':email', $email); $sql->execute(); if($sql->rowCont() > 0){ $info = $sql->fetch(); return $info['nome']; }else { return ''; } } public function getAll(){ $sql = "SELECT * FROM tab_teste"; $sql = $this->pdo->query($sql); if($sql->rowCont() > 0){ return $sql->fetchAll(); }else{ return array(); } } public function editar($nome, $email) { if($this->existeEmail($email) == true){ $sql = "UPDATE tab_teste SET nome = :nome WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':nome', $nome); $sql->bindValue(':email', $email); $sql->bindValue(':telefone', $telefone); $sql->bindValue(':endereco', $endereco); $sql->execute(); return true; }else{ return false; } } public function excluir($email){ if($this->existeEmail($email)){ $sql = "DELETE FROM tab_teste WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':email', $email); $sql->execute(); return true; } else { return false; } } private function existeEmail($email){ $sql = "SELECT FROM tab_teste WHERE email = :email"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':email', $email); $sql->execute(); if($sql->rowCont() > 0){ return true; }else { return false; } } }
-
Por Claudinei Teodoro
Sou super novato estou começando a entender programação agora e estou com dificuldade em implementar o método UPDATE no meu DAO Generico.
Os métodos INSERT, SELECT, DELETE já esta funcionando preciso somente de uma ajuda para o método UPDATE.
Segue abaixo método INSERT que estou utilizando, alguém pode me ajudar com o método UPDATA utilizando como base este método INSERT.
public void salvar(T objeto) throws SQLException, IllegalArgumentException, IllegalAccessException, ClassNotFoundException {
Class classe = objeto.getClass();
String parteInicialSQL = "INSERT INTO " + classe.getSimpleName().toLowerCase() + "(";
Field[] atributos = classe.getDeclaredFields();
String parteFinalSQL = ") VALUES(";
for (Field atributo : atributos) {
if (!"id".equals(atributo.getName())) {
parteInicialSQL += atributo.getName().toLowerCase() + ",";
parteFinalSQL += "?,";
}
}
parteInicialSQL = parteInicialSQL.substring(0, parteInicialSQL.length() - 1);
parteFinalSQL = parteFinalSQL.substring(0, parteFinalSQL.length() - 1) + ")";
Class.forName("org.postgresql.Driver");
Connection conexao = DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/postgres", "postgres", "123456");
PreparedStatement sql = conexao.prepareStatement(parteInicialSQL + parteFinalSQL);
int numeroInterrogacao = 1;
for (Field atributo : atributos) {
if (!"id".equals(atributo.getName())) {
atributo.setAccessible(true);
sql.setObject(numeroInterrogacao++, atributo.get(objeto));
}
}
System.out.println(parteInicialSQL + parteFinalSQL);
sql.execute();
conexao.close();
}
-
Por lucasvbl
<form id="frmDados" name="frmDados" class="form-horizontal" method="post" action="" enctype="multipart/form-data"> <input name="acao" id="acao" type="hidden" value="paginas"> <? if($_idCodigo){ ?> <input name="r" id="r" type="hidden" value="<?=$_idCodigo;?>"> <? } ?> <div class="row"> <div class="col-md-6"> <div class="form-group row"> <label class="col-md-2 col-form-label"> Titulo</label> <div class="col-md-10"> <input class="form-control" autocomplete="off" type="text" name="txtDescricao" id="txtDescricao" value="<?=$_rowDados->C02_DESCRICAO;?>"> </div> </div> </div> <? if($_idCodigo){ ?> <div class="col-md-6"> <div class="form-group row"> <label class="col-md-2 col-form-label"> Link</label> <div class="col-md-10"> <input readonly="readonly" class="form-control" type="text" name="txtLink" id="txtLink" value="pagina.php?p=<?=$_rowDados->C01_ID;?>"> </div> </div> </div> <? } ?> </div> <div class="row"> <div class="col-md-12"> <div class="form-group row"> <label class="col-md-12 col-form-label">Conteúdo</label> <div class="col-md-12"> <textarea class="form-control" name="txtConteudo" id="txtConteudo"> <?=$_rowDados->C04_CONTEUDO;?> </textarea> </div> </div> </div> </div> <div class="col-md-12" style="text-align: center;"> <button class="btn btn-oval btn-success" type="button" id="btGravar">Gravar</button> </div> </form> <script type="text/javascript"> $(function () { $("#btGravar").click(function(){ erros = 0; if(!$("#txtDescricao").val()){ mensagem('mensagemDIV', 'danger', 'Preencha o campo <strong>Título para a página</strong>.', 0, 'txtEntidade'); erros = 1; } if(erros > 0){ return; } off("btGravar"); var formData = $("#frmDados").serialize(); $.ajax({ url: "app.php", type: "POST", data: formData, dataType: "json", success: function (retorno) { if(retorno.status == '1'){ tratarRetorno(retorno); } if(retorno.status == '400'){ tratarRetorno(retorno); } on("btGravar"); return; } }).fail(function (jqXHR, textStatus, error) { console.log(jqXHR.responseJSON); }); return; }); }); $(document).ready(function(){ $("#txtTitulo").focus(); }); </script> Estou com um problema num crud utilizando ajax, ele meio que "corrompe a string"...
ENVIO ASSIM
ELE SALVA ASSIM
Não estou utilizando nenhum editor nada, num textarea
ESSE CODIGO
-