problema com botão cadastrar
Amigos..tenho um botão cadastrar só que não está funcionando..
erro "[b]ADOQuerySqlsuptec: Missing SQL property[/b]
as propriedades estão corretas..
segue o código..
grato a quem possa ajudar..
erro "[b]ADOQuerySqlsuptec: Missing SQL property[/b]
as propriedades estão corretas..
segue o código..
procedure Tfrmsuportetecnico.btngravarClick(Sender: TObject);
var
reg : integer;
begin
DM.ADOQuerySQLsuptec.active := true;
DM.ADOQuerySQLsuptec.Last;
reg := DM.ADOQuerySQLsuptec.recordcount;
reg := reg + 1;
DM.ADOQuerySQLsuptec.SQL.CLEAR;
DM.ADOQuerySQLsuptec.Open;
DM.ADOQuerySQLsuptec.SQL.ADD('insert into suportetecnico');
DM.ADOQuerySQLsuptec.SQL.ADD('(filial, setor, nomepc, ip, datasup, nomefunc, descricaosup)');
DM.ADOQuerySQLsuptec.SQL.ADD('values(:filial, :setor, :nomepc, :ip, :datasup, :nomefunc, :descricaosup)');
DM.ADOQuerySQLsuptec.Parameters.ParamByName('filial').Value := combobox.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('setor').Value := edit1.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('nomepc').Value := edit2.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('ip').Value := edit3.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('datasup').Value := FormatDatetime('yyyy/mm/dd', Strtodate(maskedit1.text));
DM.ADOQuerySQLsuptec.Parameters.ParamByName('nomefunc').Value := edit4.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('descricaosup').Value := memo.text;
DM.ADOQuerySQLsuptec.execsql;
showmessage('Dados gravados c/ sucesso!');
combobox.Text:='';
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
maskedit1.Text:='';
edit4.Text:='';
memo.Text:='';
end;
grato a quem possa ajudar..
Mauricio Nicoli
Curtidas 0
Respostas
Claudia Nogueira
20/09/2012
Amigos..tenho um botão cadastrar só que não está funcionando..
erro "[b]ADOQuerySqlsuptec: Missing SQL property[/b]
as propriedades estão corretas..
segue o código..
grato a quem possa ajudar..
erro "[b]ADOQuerySqlsuptec: Missing SQL property[/b]
as propriedades estão corretas..
segue o código..
procedure Tfrmsuportetecnico.btngravarClick(Sender: TObject);
var
reg : integer;
begin
DM.ADOQuerySQLsuptec.active := true;
DM.ADOQuerySQLsuptec.Last;
reg := DM.ADOQuerySQLsuptec.recordcount;
reg := reg + 1;
DM.ADOQuerySQLsuptec.SQL.CLEAR;
DM.ADOQuerySQLsuptec.Open;
DM.ADOQuerySQLsuptec.SQL.ADD('insert into suportetecnico');
DM.ADOQuerySQLsuptec.SQL.ADD('(filial, setor, nomepc, ip, datasup, nomefunc, descricaosup)');
DM.ADOQuerySQLsuptec.SQL.ADD('values(:filial, :setor, :nomepc, :ip, :datasup, :nomefunc, :descricaosup)');
DM.ADOQuerySQLsuptec.Parameters.ParamByName('filial').Value := combobox.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('setor').Value := edit1.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('nomepc').Value := edit2.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('ip').Value := edit3.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('datasup').Value := FormatDatetime('yyyy/mm/dd', Strtodate(maskedit1.text));
DM.ADOQuerySQLsuptec.Parameters.ParamByName('nomefunc').Value := edit4.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('descricaosup').Value := memo.text;
DM.ADOQuerySQLsuptec.execsql;
showmessage('Dados gravados c/ sucesso!');
combobox.Text:='';
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
maskedit1.Text:='';
edit4.Text:='';
memo.Text:='';
end;
grato a quem possa ajudar..
Tenta fechar o componente antes e também não pode dar o opem com o SQL vazio.
procedure Tfrmsuportetecnico.btngravarClick(Sender: TObject);
var
reg : integer;
begin
DM.ADOQuerySQLsuptec.active := true;
DM.ADOQuerySQLsuptec.Last;
reg := DM.ADOQuerySQLsuptec.recordcount;
reg := reg + 1;
DM.ADOQuerySQLsuptec.Close;
DM.ADOQuerySQLsuptec.SQL.CLEAR;
DM.ADOQuerySQLsuptec.SQL.ADD('insert into suportetecnico');
DM.ADOQuerySQLsuptec.SQL.ADD('(filial, setor, nomepc, ip, datasup, nomefunc, descricaosup)');
DM.ADOQuerySQLsuptec.SQL.ADD('values(:filial, :setor, :nomepc, :ip, :datasup, :nomefunc, :descricaosup)');
DM.ADOQuerySQLsuptec.Parameters.ParamByName('filial').Value := combobox.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('setor').Value := edit1.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('nomepc').Value := edit2.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('ip').Value := edit3.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('datasup').Value := FormatDatetime('yyyy/mm/dd', Strtodate(maskedit1.text));
DM.ADOQuerySQLsuptec.Parameters.ParamByName('nomefunc').Value := edit4.text;
DM.ADOQuerySQLsuptec.Parameters.ParamByName('descricaosup').Value := memo.text;
DM.ADOQuerySQLsuptec.execsql;
showmessage('Dados gravados c/ sucesso!');
combobox.Text:='';
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
maskedit1.Text:='';
edit4.Text:='';
memo.Text:='';
end;
GOSTEI 0
Claudia Nogueira
20/09/2012
Tem um erro de digitação na minha resposta. Opem = Open.
GOSTEI 0
Mauricio Nicoli
20/09/2012
deu certo..
só que assim..no caso eu não tinha nenhum registro sabe..no banco de dados..
ai ao clicar no botão gravar o codigo inserido automaticamente no banco de dados
foi o "2" ..
só que não tinha nenhum registro ainda no banco..
o certo teria que ser codigo 1...depois sim codigo 2..
só que assim..no caso eu não tinha nenhum registro sabe..no banco de dados..
ai ao clicar no botão gravar o codigo inserido automaticamente no banco de dados
foi o "2" ..
só que não tinha nenhum registro ainda no banco..
o certo teria que ser codigo 1...depois sim codigo 2..
GOSTEI 0
Claudia Nogueira
20/09/2012
deu certo..
só que assim..no caso eu não tinha nenhum registro sabe..no banco de dados..
ai ao clicar no botão gravar o codigo inserido automaticamente no banco de dados
foi o "2" ..
só que não tinha nenhum registro ainda no banco..
o certo teria que ser codigo 1...depois sim codigo 2..
só que assim..no caso eu não tinha nenhum registro sabe..no banco de dados..
ai ao clicar no botão gravar o codigo inserido automaticamente no banco de dados
foi o "2" ..
só que não tinha nenhum registro ainda no banco..
o certo teria que ser codigo 1...depois sim codigo 2..
Qual banco de dados você usa? Se for o firebird com generator + trigger, aí não importa a quantidade de registros no banco de dados, importa a posição atual do generator. [url]http://www.firebase.com.br/fb/artigo.php?id=2396[/url]
Se for outro banco de dados como MySQL por exemplo, tem que ver a posição do campo auto-increment.
Pode ter começado do 2 simplesmente por algum teste que você tenha feito anteriormente e tenha incrementado 1.
GOSTEI 0
Mauricio Nicoli
20/09/2012
olha o que tá acontecendo..
uso mysql ok
tinha no registro o codigo 5 certo? com todos os demais campos preenchidos..
ai fiz um teste..
dei um delete from suportetecnico;
isso limpou o registro inserido..ficou sem nada..
ai eu registrei um novo registro..e em vez de ficar o codigo com 1 sendo o primeiro registro do banco ficou 5..
ele não tá entendendo que não tinha registro no banco de dados e simplesmente soma com o último registro feito.
se foi o codigo 4..mesmo que seja apagado o registro no banco antes de rodar o programa ele não ta entendendo isso..
uso mysql ok
tinha no registro o codigo 5 certo? com todos os demais campos preenchidos..
ai fiz um teste..
dei um delete from suportetecnico;
isso limpou o registro inserido..ficou sem nada..
ai eu registrei um novo registro..e em vez de ficar o codigo com 1 sendo o primeiro registro do banco ficou 5..
ele não tá entendendo que não tinha registro no banco de dados e simplesmente soma com o último registro feito.
se foi o codigo 4..mesmo que seja apagado o registro no banco antes de rodar o programa ele não ta entendendo isso..
GOSTEI 0
Mauricio Nicoli
20/09/2012
olha o que tá acontecendo..
uso mysql ok
tinha no registro o codigo 5 certo? com todos os demais campos preenchidos..
ai fiz um teste..
dei um delete from suportetecnico;
isso limpou o registro inserido..ficou sem nada..
ai eu registrei um novo registro..e em vez de ficar o codigo com 1 sendo o primeiro registro do banco ficou 5..
ele não tá entendendo que não tinha registro no banco de dados e simplesmente soma com o último registro feito.
se foi o codigo 4..mesmo que seja apagado o registro no banco antes de rodar o programa ele não ta entendendo isso..
uso mysql ok
tinha no registro o codigo 5 certo? com todos os demais campos preenchidos..
ai fiz um teste..
dei um delete from suportetecnico;
isso limpou o registro inserido..ficou sem nada..
ai eu registrei um novo registro..e em vez de ficar o codigo com 1 sendo o primeiro registro do banco ficou 5..
ele não tá entendendo que não tinha registro no banco de dados e simplesmente soma com o último registro feito.
se foi o codigo 4..mesmo que seja apagado o registro no banco antes de rodar o programa ele não ta entendendo isso..
não entendi..
GOSTEI 0
Mauricio Nicoli
20/09/2012
corrigindo..
olha o que tá acontecendo..
uso mysql ok
tinha no registro o codigo 5 certo? com todos os demais campos preenchidos..
ai fiz um teste..
dei um delete from suportetecnico;
isso limpou o registro inserido..ficou sem nada..
ai eu registrei um novo registro..e em vez de ficar o codigo com 1 sendo o primeiro registro do banco ficou 6..
ele não tá entendendo que não tinha registro no banco de dados e simplesmente soma com o último registro feito.
se foi o codigo 5..mesmo que seja apagado o registro no banco antes de rodar o programa ele teria que ir para o 1 e não o 6 registro..
olha o que tá acontecendo..
uso mysql ok
tinha no registro o codigo 5 certo? com todos os demais campos preenchidos..
ai fiz um teste..
dei um delete from suportetecnico;
isso limpou o registro inserido..ficou sem nada..
ai eu registrei um novo registro..e em vez de ficar o codigo com 1 sendo o primeiro registro do banco ficou 6..
ele não tá entendendo que não tinha registro no banco de dados e simplesmente soma com o último registro feito.
se foi o codigo 5..mesmo que seja apagado o registro no banco antes de rodar o programa ele teria que ir para o 1 e não o 6 registro..
GOSTEI 0
Claudia Nogueira
20/09/2012
olha o que tá acontecendo..
uso mysql ok
tinha no registro o codigo 5 certo? com todos os demais campos preenchidos..
ai fiz um teste..
dei um delete from suportetecnico;
isso limpou o registro inserido..ficou sem nada..
ai eu registrei um novo registro..e em vez de ficar o codigo com 1 sendo o primeiro registro do banco ficou 5..
ele não tá entendendo que não tinha registro no banco de dados e simplesmente soma com o último registro feito.
se foi o codigo 4..mesmo que seja apagado o registro no banco antes de rodar o programa ele não ta entendendo isso..
uso mysql ok
tinha no registro o codigo 5 certo? com todos os demais campos preenchidos..
ai fiz um teste..
dei um delete from suportetecnico;
isso limpou o registro inserido..ficou sem nada..
ai eu registrei um novo registro..e em vez de ficar o codigo com 1 sendo o primeiro registro do banco ficou 5..
ele não tá entendendo que não tinha registro no banco de dados e simplesmente soma com o último registro feito.
se foi o codigo 4..mesmo que seja apagado o registro no banco antes de rodar o programa ele não ta entendendo isso..
Isso ocorre por que além de você excluir os registros com DELETE FROM tabela, você tem que zerar o auto-increment: ALTER TABLE tabela AUTO_INCREMENT = 1;
GOSTEI 0
Mauricio Nicoli
20/09/2012
muito obrigado..era isso mesmo..me ajudou muito..
tenho muito que aprender ainda gatinha..
valeu..
tenho muito que aprender ainda gatinha..
valeu..
GOSTEI 0