Erro ao inserir o campo nome (Column Unknown nome )
Ola bom dia amigos espero que possam me ajudar sou iniciante na palheta dbexpress e por isso estou apanhando um pouco por isso conto com a ajuda de vcs.
O problema é o seguinte:
criei uma tabela no interbase chamada: [b:a2a64690d8]teste [/b:a2a64690d8]
e um campo chamado: [b:a2a64690d8]nome.[/b:a2a64690d8]
Entao fui na palheta dbexpress do delphi7 , coloquei os componentes [b:a2a64690d8]SQLconnection e SQLdataset[/b:a2a64690d8].
Configurei o [b:a2a64690d8]SQLconnection[/b:a2a64690d8] e estava conectando corretamente.Entao passei pra etapa de configurar o [b:a2a64690d8]SQLdataset[/b:a2a64690d8], adicionei o campo [b:a2a64690d8]Tfield[/b:a2a64690d8] e um parametro [b:a2a64690d8]:nome[/b:a2a64690d8].
Arrastei o campo [b:a2a64690d8]Tfield [/b:a2a64690d8]do [b:a2a64690d8]SQLdataset[/b:a2a64690d8] pro formulario ae me veio um [b:a2a64690d8]DBEdit.Text [/b:a2a64690d8]ja configurado.
entao coloquei um botao de inserir cliquei duas vezes nele
e comecei a colocar o codigo
[b:a2a64690d8]begin
SqlDataset1.Close;
SqlDataset1.commandtype := ctQuery;
SqlDataset1.commandtext := ´insert into teste(nome)´ + ´values(:nome)´;
SqlDataset1.ParamByName(´nome´).AsString := DBEdit1.Text;
SqlDataset1.ExecSql(true);
SqlDataset1.Open;
end; [/b:a2a64690d8]
mando executar e quando clico no botao de inserir da um erro
[b:a2a64690d8]EDataBaseError: Column Unknown nome [/b:a2a64690d8]
dizendo q a coluna nao existe mas ela existe sim pois e a unica coluna que criei so pra testar gostaria que me dissessem aonde estou errando
desde ja eu agradeço obrigado.
O problema é o seguinte:
criei uma tabela no interbase chamada: [b:a2a64690d8]teste [/b:a2a64690d8]
e um campo chamado: [b:a2a64690d8]nome.[/b:a2a64690d8]
Entao fui na palheta dbexpress do delphi7 , coloquei os componentes [b:a2a64690d8]SQLconnection e SQLdataset[/b:a2a64690d8].
Configurei o [b:a2a64690d8]SQLconnection[/b:a2a64690d8] e estava conectando corretamente.Entao passei pra etapa de configurar o [b:a2a64690d8]SQLdataset[/b:a2a64690d8], adicionei o campo [b:a2a64690d8]Tfield[/b:a2a64690d8] e um parametro [b:a2a64690d8]:nome[/b:a2a64690d8].
Arrastei o campo [b:a2a64690d8]Tfield [/b:a2a64690d8]do [b:a2a64690d8]SQLdataset[/b:a2a64690d8] pro formulario ae me veio um [b:a2a64690d8]DBEdit.Text [/b:a2a64690d8]ja configurado.
entao coloquei um botao de inserir cliquei duas vezes nele
e comecei a colocar o codigo
[b:a2a64690d8]begin
SqlDataset1.Close;
SqlDataset1.commandtype := ctQuery;
SqlDataset1.commandtext := ´insert into teste(nome)´ + ´values(:nome)´;
SqlDataset1.ParamByName(´nome´).AsString := DBEdit1.Text;
SqlDataset1.ExecSql(true);
SqlDataset1.Open;
end; [/b:a2a64690d8]
mando executar e quando clico no botao de inserir da um erro
[b:a2a64690d8]EDataBaseError: Column Unknown nome [/b:a2a64690d8]
dizendo q a coluna nao existe mas ela existe sim pois e a unica coluna que criei so pra testar gostaria que me dissessem aonde estou errando
desde ja eu agradeço obrigado.
Paulo_guerra
Curtidas 0
Respostas
Emerson Nascimento
18/01/2007
você está alterando a instrução para algo que não traz resultset (as instruções insert, delete e update - entre outras - não retornam dados). o erro deve estar acontecendo depois do ExecSQL, ao tentar abrir o dataset, pois naquele momento não haverá registros nem campos disponíveis.
begin SqlDataset1.Close; SqlDataset1.commandtype := ctQuery; SqlDataset1.commandtext := ´insert into teste (nome) values(:nome)´; SqlDataset1.ParamByName(´nome´).AsString := DBEdit1.Text; SqlDataset1.ExecSql(true); // SqlDataset1.Open; // a linha acima é desnecessária. // mas o correto é executar essa instrução num dataset // diferente daquele utilizado para exibição dos dados. end;
GOSTEI 0