thaita Novato
Registrado: Sábado, 26 de Novembro de 2022 Mensagens: 44
|
Enviada: Sáb Out 28, 2023 11:08 am Assunto: RESOLVIDO - Como mostrar os dados de um campo de uma |
|
|
Meus Prezados,
Tenho duas tabelas a seguir:
CREATE TABLE Editora (
ID INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
Nome TEXT (60) NOT NULL
);
e a outra
CREATE TABLE Livro (
ID INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
ID_Editora INTEGER REFERENCES Editora (ID) ON DELETE CASCADE
ON UPDATE CASCADE,
NomeLivro TEXT (80) NOT NULL,
Numero INTEGER,
Titulo TEXT (80),
Volume INTEGER
);
Preciso mostrar em um TComboBox o campo Nome da Tabela Editora no formulário
de cadastro de Livros(FrmCadastroLivros). Alguém pode me ajudar?
Usei o exemplo abaixo da internet mas esta dando erro no params (pNome).
Segue abaixo :
procedure TfrmCadastroLivro.FormActivate(Sender: TObject);
begin
inherited;
DmEditora.cdsEditora.Open;
DmEditora.cdsEditora.First;
while not DmEditora.cdsEditora.eof do
begin
ComboBox1.Items.Add(DmEditora.cdsEditoraNome.Value);
DmEditora.cdsEditora.Next;
end;
e no evento onChange do ComboBox:
procedure TfrmCadastroLivro.ComboBox1Change(Sender: TObject);
begin
inherited;
with DmEditora.sqlEditora do
begin
Close;
sql.Clear;
sql.Add('Select *From Editora where Nome = pNome');
ParamByName('PNome').AsString := ComboBox1.Text;
Open;
end;
end;
Alguém pode me ajudar? Agradeço desde já.
end;
Editado pela última vez por thaita em Dom Nov 05, 2023 2:57 pm, num total de 1 vez |
|
natanbh1 Colaborador
Registrado: Terça-Feira, 15 de Março de 2011 Mensagens: 3093 Localização: Belo Horizonte - MG
|
Enviada: Seg Out 30, 2023 10:40 am Assunto: |
|
|
Na instrução SQL ao informar um parâmetro acrescente antes um sinal : (dois pontos.
Teste assim:
Código: | procedure TfrmCadastroLivro.ComboBox1Change(Sender: TObject);
begin
inherited;
with DmEditora.sqlEditora do
begin
Close;
sql.Clear;
sql.Add('Select *From Editora where Nome = :pNome');
ParamByName('PNome').AsString := ComboBox1.Text;
Open;
end;
end; |
_________________ ''A persistência é o caminho para o êxito.''
Charlie Chaplin |
|