-
Conteúdo Similar
-
Por aluizs100
Olá.
Estou tentando localizar um código para conectar um banco de dados access utilizando o Visual Studio 12, porém só encontrei a com conexão direta via programa e eu queria fazer esta conexão via código.
alguém poderia me auxiliar em enviando esta rotina ou me indicando o local onde encontro.
Obrigado.
-
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 edivancastro
Pessoal, em anexo segue meu modelo de banco de dados (duas tabelas). Estou utilizando doctrine. Este é um modelo resumido para eu tentar explicar o que estou passando.
As minhas classes Banner e Menu extendem de classes diferentes (ClasseX e ClasseY) e estas classes Banner e Menu, como voces podem ver possuem um Link que pode ser para uma categoria, artigo ou linkexterno (http://outrosite.com). Dai surgiu essa necessidade de min criar uma classe Link. Porem na minha opiniao é inviavel eu criar uma tabela no banco de dados para armazenar link, ou seja, a classe link não chega ser uma entidade concreta (tabela), seria apenas coluna no BD e para cada tipo de Link há uma estrategia para gerar o seu respectivo LinkURL, conforme pode ser observado na classe Link.
Pensei em fazer class Menu extends Link e class Banner extends Link, porem as classes banner e menu ja extendem de outras classes e como o PHP não aceita herança multipla não tem como.
enfim, como faço para mapear a classe Link para este modelo de banco de dados meu?
<?php /** * @ORM\Entity */ class Banner extends ClasseX{ /** * @ORM\Id */ private $id; /** * @ORM\Column('type=string') */ private $descricao; private $link; protected setLink(Link $link){ $this->link = $link; } protected getLink(){ return $this->link; } }
<?php /** * @ORM\Entity */ class Menu extends ClasseY{ /** * @ORM\Id */ protected $id; /** * @ORM\Column(type="string") */ protected $descricao; protected $link; protected setLink(Link $link){ $this->link = $link; } protected getLink(){ return $this->link; } }
<?php class Link{ const TIPO_ARTIGO=1; const TIPO_CATEGORIA=2; const TIPO_LINKEXTERNO=3 protected $tipo_link; protected $categoria; protected $artigo; proctected $linkexterno; public function setLink($link){ if(is_object($link)){ switch(get_class($link)){ case Artigo::class: $this->tipo = self::TIPO_ARTIGO; $this->artigo = $link; break; case Categoria::class: $this->tipo = self::TIPO_CATEGORIA; $this->categoria = $link; break; } }else{ $this->tipo = self::TIPO_LINKEXTERNO; $this->linkexterno = $link; } } public function getLinkUrl(){ switch($this->tipo_link){ case self::TIPO_ARTIGO; return $this->makeUrlToArtigo(); break; case self::TIPO_CATEGORIA; return $this->makeUrlToCategoria(); break; case self::TIPO_LINKEXTERNO; return $this->linkexterno; } } }
-
Por aldoneto.89
tenhos as 3 seguintes classes:
<?php class Sql extends PDO{ private $conn; //conexão com o banco public function __constuct(){ $this->conn = new PDO("mysql:host=localhost;dbname=php7","root","root"); } private function setParams($statment, $parameters = array()){ foreach(parameters as $key => $value) { //associar os parametros ao comando.//chave e o valor $this->bindParam($key, $value); } } private function setParam($statment, $key, $value){ $statment->bindParam($key, $value); } public function query($rawQuery,$params = array()){ //1-parametro a ser tratato e 2 os dados $stmt = $this->$conn->prepare($rawQuery); // $this->setParams($stmt, $params); $stmt->execute(); return $stmt; } public function select ($rawQuery, $params = array()):array { $stmt = $this->query($rawQuery, $params); $stmt->fetchAll(PDO::FETCH_ASSOC); } } <?php spl_autoload_register(function($class_name){ $filename = $class_name.".php"; if(file_exists(($filename))){ require_once($filename); } }); ?> <?php require_once("config.php"); $sql = new Sql(); $usuarios = $sql->select("SELECT * FROM tb_usuarios"); echo json_encode($usuarios); ?> e esta dando o erro :
Fatal error: Uncaught TypeError: PDO::__construct() expects at least 1 parameter, 0 given in C:\xampp\htdocs\DAO\index.php:5 Stack trace: #0 C:\xampp\htdocs\DAO\index.php(5): PDO->__construct() #1 {main} thrown in C:\xampp\htdocs\DAO\index.php on line 5
o engrçado é que peguei em uma videoaula e esta igual ao do professor
diz que tem q passar um parametro, mas no dele não tem parametro
-
Por laudirbispo
Cheguei em um ponto da minha aplicação em que preciso relacionar tabelas em uma única consulta.
Até o momento, uso uma classe DAO para cada tabela no banco de dados, com funções CRUD básicas.Mas agora surgiu a necessidade de relacionar essas tabelas, qual é a camada que faz isso e como ela funciona?
Por exemplo: A Classe PermissionsDAO faz insert, update, delete, select na tabela permissions, mas essa classe agora precisa acessar as tabelas privileges, groups, user_groups, etc.
Procurei na net, há várias explicações, (e a busca aqui do Fórum está desagradável)
mas cada um diz uma coisa. Fiquei mais confuso ainda!
Estou tentando implementar o padrão MVC.
-