Prévia do material em texto
SQL – (STRUCTURED QUERY LANGUAGE) Tabela: Nomes.DB Campo Tipo TAM Chave Nome A 35 Sobrenome A 15 Comando SQL Para Incluir: Insert Ex.: Insert INTO Nomes(Nome,Sobrenome) Values (“Luis Henrique”,”Magalhães”) Insert INTO Nomes(Nome,Sobrenome) Values (“José da”,”Silva”) Comando SQL Para Excluir: Delete Ex.: Delete From Nomes Where Nome = “Luis Henrique” Delete From Nomes Where Sobrenome = “Silva” Comando SQL Para Alterar: Update Ex.: Update Nomes SET Nome = “José da”, Sobrenome = “Costa” Where Nome = “José da” Consulta Simples Na Tabela Ex.: SELECT * Form Nomes * = Todos os campos Ex.: SELECT Nome, Sobrenome From Nomes Ex.: SELECT Sobrenome From Nomes Ex.: SELECT Nome As Nome do Usuário, Sobrenome As Sobrenome do Usuário From Nomes As = Dá um nome a um campo para ser mostrado na consulta. SQL No Delphi Tabela: Livros.DB Campo Tipo TAM Chave ISBN A 20 * CDD A 10 Título A 45 Autor A 45 Genero A 20 Ano N Crie e altere as propriedades pedidas abaixo: - SELECIONAR O QUERY1 NO DATA MODULE (DM) E ESCOLHA A PROPRIEDADE SQL (CLICAR NOS 3 PONTOS), - DIGITE: SELECT * FROM LIVROS - PRESSIONE O BOTÃO OK. Monte o formulário utilizando os objetos mostrados abaixo: FILE/NEW/DATA MODULE DATA MODULE NAME – DM QUERY1 DATABASE – SQL1 DATASOURCE1 DATASET – QUERY1 DATABASE1 NOME DO ALIAS = SQL1 Declarar, na seção Private, a procedure a função abaixo: Procedure Dados; Function Dados_ok: Boolean; Procedure TForm1.Dados; begin EdtISBN.Text:=DM.QUERY1[‘ISBN’]; EdtCDD.Text:=DM.QUERY1[‘CDD’]; EdtTitulo.Text:=DM.QUERY1[‘Titulo’]; EdtAutor.Text:=DM.QUERY1[‘Autor’]; EdtGenero.Text:=DM.QUERY1[‘Genero’]; EdtAno.Text:=DM.QUERY1[‘Ano’]; End; Function TForm1.Dados_ok: Boolean; begin Result:= False; With EdtISBN Do If Text = ‘’ Then Begin MessageDlg(‘Informe o ISBN do Livro’,mtWarning, [mbok],0); SetFocus; Exit; End; With EdtCDD Do If Text = ‘’ Then Begin MessageDlg(‘Informe o CDD do Livro’,mtWarning,[mbok],0); SetFocus; Exit; End; With EdtTitulo Do If Text = ‘’ Then Begin MessageDlg(‘Informe o Título do Livro’,mtWarning,[mbok],0); SetFocus; Exit; End; With EdtAutor Do If Text = ‘’ Then Begin MessageDlg(‘Informe o Autor do Livro’,mtWarning,[mbok],0); SetFocus; Exit; End; With EdtGenero Do If Text = ‘’ Then Begin MessageDlg(‘Informe o Gênero do Livro’,mtWarning,[mbok],0); SetFocus; Exit; End; With EdtAno Do If Text = ‘’ Then Begin MessageDlg(‘Informe o Ano do Livro’,mtWarning,[mbok],0); SetFocus; Exit; End; Result:=True; End; Código do botão bitNovo – ONCLICK edtISBN.Text:=’’; edtCDD.Text:=’’; edtTitulo.Text:=’’; edtAutor.Text:=’’; edtGenero.Text:=’’; edtAno.Text:=’’; bitIncluir.Enabled:=True; bitNovo.Enabled:=False; bitExcluir.Enabled:=False; bitAlterar.Enabled:=False; btnPrimeiro.Enabled:=False; btnAnterior.Enabled:=False; btnProximo.Enabled:=False; btnUltimo.Enabled:=False; edtISBN.SetFocus; Código do botão bitIncluir – ONCLICK If Dados_ok Then Begin DM.QUERY1.SQL.Text:='INSERT INTO Livros (ISBN, CDD, Titulo, Autor, Genero, Ano) '+ 'Values("'+EdtISBN.Text+'",'+'"'+EdtCDD.Text+'",'+'"'+EdtTitulo.Text+'",'+ '"'+EdtAutor.Text+'",'+'"'+EdtGenero.Text+'",'+'"'+EdtAno.Text+'")'; DM.QUERY1.ExecSQL; FormActivate(Sender); End; Código do botão bitAlterar - onClick DM.Query1.SQL.Text:='UpDate Livros Set CDD="'+edtCDD.Text+'",'+ 'Titulo="'+edtTitulo.Text+'",'+ 'Autor="'+edtAutor.Text+'",'+ 'Genero="'+edtGenero.Text+'",'+ 'Ano="'+edtAno.Text+'"'+ ' Where ISBN="'+edtISBN.Text+'"'; DM.Query1.ExecSQL; DM.QUERY1.SQL.Text:='Select * From Livros'; DM.QUERY1.Open; btnPrimeiroClick(Sender); Código do Form1 – onActivate DM.Query1.SQL.Text:='Select * from Livros'; DM.Query1.Open; If DM.Query1.RecordCount >0 then Begin bitNovo.Enabled:=True; bitExcluir.Enabled:=True; bitAlterar.Enabled:=True; bitIncluir.Enabled:=False; btnPrimeiroClick(Sender); end Else Begin bitIncluir.Enabled:=False; bitNovo.Enabled:=True; bitExcluir.Enabled:=False; bitAlterar.Enabled:=False; btnPrimeiro.Enabled:=False; btnAnterior.Enabled:=False; btnProximo.Enabled:=False; btnUltimo.Enabled:=False; edtISBN.Text:=’’; edtCDD.Text:=’’; edtTitulo.Text:=’’; edtAutor.Text:=’’; edtGenero.Text:=’’; edtAno.Text:=’’; End; Código do RadioGroup1 - onClick if RadioGroup1.ItemIndex = 0 Then RadioGroup2.Items[0]:='Todos os Títulos'; if RadioGroup1.ItemIndex = 0 Then RadioGroup2.Items[1]:='Títulos começados por'; if RadioGroup1.ItemIndex = 1 Then RadioGroup2.Items[0]:='Todos os ISBN'; if RadioGroup1.ItemIndex = 1 Then RadioGroup2.Items[1]:='ISBN começados por'; if RadioGroup1.ItemIndex = 2 Then RadioGroup2.Items[0]:='Todos os CDDs'; if RadioGroup1.ItemIndex = 2 Then RadioGroup2.Items[1]:='CDDs começados por'; Código do bitOK - onClick if RadioGroup1.ItemIndex = 0 Then begin Case RadioGroup2.ItemIndex of 0:Begin DM.Query1.SQL.Text:='Select Titulo,Autor,Genero,Ano,ISBN,CDD '+ 'From Livros'; DM.Query1.Open; End; 1:Begin DM.Query1.SQL.Text:='Select Titulo,Autor,Genero,Ano,ISBN,CDD '+ 'From Livros Where Titulo Like '+'"'+edtConsulta.Text+'%"'; DM.Query1.Open; End; End; end; if RadioGroup1.ItemIndex = 1 Then begin Case RadioGroup2.ItemIndex of 0:Begin DM.Query1.SQL.Text:='Select ISBN,CDD,Titulo,Autor,Genero,Ano '+ 'From Livros'; DM.Query1.Open; End; 1:Begin DM.Query1.SQL.Text:='Select ISBN,CDD,Titulo,Autor,Genero,Ano '+ 'From Livros Where ISBN Like '+'"'+edtConsulta.Text+'%"'; DM.Query1.Open; End; End; end; if RadioGroup1.ItemIndex = 2 Then begin Case RadioGroup2.ItemIndex of 0:Begin DM.Query1.SQL.Text:='Select CDD,ISBN,Titulo,Autor,Genero,Ano '+ 'From Livros'; DM.Query1.Open; End; 1:Begin DM.Query1.SQL.Text:='Select CDD,ISBN,Titulo,Autor,Genero,Ano '+ 'From Livros Where CDD Like '+'"'+edtConsulta.Text+'%"'; DM.Query1.Open; End; End; end; Código do bitExcluir – onClick DM.Query1.SQL.Text:=’Delete from Livros where ISBN=”’+ edtISBN.Text+’”’; DM.Query1.ExecSQL; DM.Query1.SQL.Text:=’Select form * Livros’; DM.Query1.Open; If DM.Query1.RecordCount > 0 Then FormActivate(sender); Código do BtnPrimeiro – onClick DM.Query1.First; Dados; BtnPrimeiro.Enabled:=False; BtnAnterior.Enabled:=False; BtnProximo.Enabled:=True; BtnUltimo.Enabled:=True; Código do BtnAnterior – onClick DM.Query1.Prior; If not DM.Query1.BOF Then Begin Dados; BtnPrimeiro.Enabled:=True; BtnAnterior.Enabled:=True; BtnProximo.Enabled:=True; BtnUltimo.Enabled:=True; End Else BtnPrimeiroClick(sender); Código do BtnProximo – onClick DM.Query1.Next; If not DM.Query1.EOF Then Begin Dados; BtnPrimeiro.Enabled:=True; BtnAnterior.Enabled:=True; BtnProximo.Enabled:=True; BtnUltimo.Enabled:=True; End Else BtnUltimoClick(sender); Código do BtnUltimo –onClick DM.Query1.Last; Dados; BtnPrimeiro.Enabled:=False; BtnAnterior.Enabled:=False; BtnProximo.Enabled:=True; BtnUltimo.Enabled:=True;