Gravação Usuário
10/12/2005
0
procedure TfrmCadUsuarios.btnNovoClick(Sender: TObject);
begin
inherited;
...
with dmDepartamento.cdsDepto do
begin
close;
open;
while not Eof do
begin
cbbxUnidade.Items.Add(FieLDByName(´COD_DEPTO´).Text + ´ - ´ +
FieldByName(´DEPTO´).Text);
Next;
end;
end;
end;
A minha dúvida está na gravação, ou seja, se eu tenho um combobox que está recebendo dados de dois campos, como faço para gravá-lo na tabela de Usuários?
Eu tinha pensado em usar a função copy.
var
TD : TTransactionDesc;
Codigo : string;
Unidade : string;
begin
inherited;
Codigo := copy(cbbxDepto.Text, 0, 2);
Depto:= copy(cbbxDepto.Text, 4, 35);
try
...
with dmUsuarios.cdsUsuarios do
begin
...
FieldByName(´COD_DEPTO´).AsInteger := strtoint(Codigo);
FieldByName(´DEPTO´).AsString := Depto;
...
except
on E : Exception do
ShowMessage(E.Message);
...
Concluindo, o sistema não está pegando o cod. do depto e depto que estão no combobox e gravando na tabela.
Gostaria de saber qual seria a melhor forma de se resolver este problema.
Fico no aguardo.
Um abraço a todos.
Rogério
Roger1976
Posts
10/12/2005
Roger1976
sqlConexao: There is no active transaction.
10/12/2005
Edilcimar
with dmUsuarios.cdsUsuarios do
begin
...
FieldByName(´COD_DEPTO´).AsInteger := strtoint(Codigo);
FieldByName(´DEPTO´).AsString := Depto;
...
10/12/2005
Roger1976
procedure TfrmCadUsuarios.btnGravarClick(Sender: TObject);
var
TD : TTransactionDesc;
codigo, depto : string;
begin
inherited;
Codigo := copy(cbbxUnidade.Text, 1, 1);
Unidade := copy(cbbxUnidade.Text, 5, 35);
try
TD.TransactionID := 1;
TD.IsolationLevel := xilREADCOMMITTED;
with dmUsuarios.cdsUsuarios do
begin
dmConexao.sqlConexao.Commit(TD);
FieldByName(´NOME´).AsString := dbedtNome.Text;
FieldByName(´COD_DEPTO´).AsInteger := strtoint(Codigo);
FieldByName(´DEPTO´).AsString := Depto;
FieldByName(´LOGIN´).AsString := dbedtLogin.Text;
FieldByName(´SENHA´).AsString := dbedtSenha.Text;
Execute;
dmConexao.sqlConexao.Commit(TD);
ApplyUpdates(0);
Refresh;
Application.MessageBox(´Usuário cadastrado com sucesso!´, ´Inclusão´,
MB_OK + MB_ICONINFORMATION);
end;
except
on E : Exception do
begin
dmConexao.sqlConexao.Rollback(TD);
ShowMessage(E.Message);
Exit;
end;
end;
end;
Ah, estou utilizando interbase + dbxpress...
Caso encontre algum erro, aponte-me por favor...
Valeu!
10/12/2005
Roger1976
10/12/2005
Roger1976
Kra, perdoe-me, de qualquer forma, valeu pela força, e espero não cometer erros infantis como este....
10/12/2005
Edilcimar
10/12/2005
Roger1976
Clique aqui para fazer login e interagir na Comunidade :)