Access-ADO: Tamanho do campo
Fiz um programinha para controlar empréstimos de CD (executável e banco de dados)
Quando faz um cadastro de mídia (num sei se em outros cadastros isto também ocorre) se você coloca mais de 15 chars no título, o sistema retorna uma mensagem falando que o texto não cabe no campo da tabela no banco de dados.
No banco de dados, o campo título tem comprimento máximo de 60 chars e o campo título na janela de cadastro também.
SQL de inserção:
INSERT INTO Midia (Titulo,Artista,Editora,Genero,Paginas,Avaliacao,Tipo) VALUES (:ptitulo,:partista,:peditora,:pgenero,:ppaginas,:pavaliacao,:ptipo)
Botão confirmar na janela de cadastro de mídia
procedure Tfrmcadastro.btncadastrarClick(Sender: TObject);begin if (cdtitulo.Text<>'') or (dvdtitulo.Text<>'') or (livrotitulo.Text<>'') then begin case ComboBox1.ItemIndex of 0:begin with DataModule1.qrymidia do begin Close; parameters.ParamByName('ptitulo').value:= trim(cdtitulo.text); Parameters.ParamByName('partista').value:=cdartista.text; Parameters.ParamByName('pgenero').value:=cdgenero.text; Parameters.ParamByName('pavaliacao').value:=cdtitulo.text; Parameters.ParamByName('ptipo').value:=combobox1.ItemIndex; ExecSQL; end; end; 1:begin with DataModule1.qrymidia do begin Close; Parameters.ParamByName('ptitulo').Value:= dvdtitulo.text; Parameters.ParamByName('partista').value:=dvdartista.text; Parameters.ParamByName('pgenero').value:=dvdgenero.text; Parameters.ParamByName('pavaliacao').value:=dvdtitulo.text; Parameters.ParamByName('ptipo').value:=combobox1.ItemIndex; ExecSQL; end; end; 2:begin with DataModule1.qrymidia do begin try Close; Parameters.ParamByName('ptitulo').Value:= livrotitulo.text; Parameters.ParamByName('partista').value:=livroautor.text; Parameters.ParamByName('peditora').Value:=livroeditora.text; Parameters.ParamByName('ppaginas').Value:=strtoint(livropagina.Text); Parameters.ParamByName('pgenero').value:=livrogenero.text; Parameters.ParamByName('pavaliacao').value:=cdtitulo.text; Parameters.ParamByName('ptipo').value:=combobox1.ItemIndex; ExecSQL; except on EConvertError do showmessage ('Verifique os dados lançados'); end; end; end; end; close; btnlimpar.Click; ComboBox1.SetFocus; end else Showmessage ('Por favor, não deixe o campo '+chr(39)+'Título'+chr(39)+' em branco...');end;
Alguém pode me ajudar?
Discussão (9)
Carregando comentários...