DiogoDF83 Novato

Registrado: Sexta-Feira, 19 de Novembro de 2021 Mensagens: 20
|
Enviada: Qui Jul 21, 2022 2:15 pm Assunto: problema com datasource MVC - RESOLVIDO |
|
|
Boa tarde pessoal, seguinte estou desenvolvndo uma tela de cadastro usando MVC.
Então na minha view tenho os edits, botoes e um datasource.
essa é a tela do cadastro:
Código: | procedure TfrmCadastroCliente.Carrega();
var
Cliente: TCliente;
ClienteControler: TClienteController;
begin
Cliente := TCliente.Create;
ClienteControler := TClienteController.Create;
try
with Cliente do
begin
ClienteControler.Carrega(Cliente);
dsCadastro.DataSet.FieldByName('ID_CLIENTE_CLI').AsInteger := IDCLIENTE;
dsCadastro.DataSet.FieldByName('RAZAO_SOCIAL_CLI').AsString := RAZAOSOCIAL;
dsCadastro.DataSet.FieldByName('FANTASIA_CLI').AsString := FANTASIACLI;
dsCadastro.DataSet.FieldByName('CPF_CNPJ_CLI').AsString := CPFCNPJCLI;
dsCadastro.DataSet.FieldByName('TIPO_FJ_CLI').AsString := TIPOFJCLI;
dsCadastro.DataSet.FieldByName('NOME_CLI').AsString := NOMECLI;
dsCadastro.DataSet.FieldByName('EMAIL_CLI').AsString := EMAILCLI;
dsCadastro.DataSet.FieldByName('SITE_CLI').AsString := SITECLI;
dsCadastro.DataSet.FieldByName('ENDERECO_CLI').AsString := ENDERECOCLI;
dsCadastro.DataSet.FieldByName('COMPLEMENTO_CLI').AsString := COMPLEMENTOCLI;
dsCadastro.DataSet.FieldByName('NUMERO_CLI').AsString := NUMEROCLI;
dsCadastro.DataSet.FieldByName('BAIRRO_CLI').AsString := BAIRROCLI;
dsCadastro.DataSet.FieldByName('IE_CLI').AsString := IECLI;
dsCadastro.DataSet.FieldByName('IM_CLI').AsString := IMCLI;
end;
finally
Cliente.Free;
end;
end; |
aqui esta o controller:
Código: | procedure TClienteController.Carrega(Cliente: TCliente);
begin
frmClienteDAO.Carrega(Cliente);
end; |
e aqui o DAO
Código: | procedure TfrmClienteDAO.Carrega(Cliente: TCliente);
var
fdQry: TFDQuery;
ClienteController: TClienteController;
begin
fdQry := TFDQuery.Create(nil);
ClienteController := TClienteController.Create;
fdQry.Connection := dmConexao.fdConexao;
// aqui tentei colocar o dataset mas nao deu. erro de acess violation
frmCadastroCliente.dsCadastro.DataSet := fdQry;
try
with fdQry, ClienteController, Cliente do
begin
SQL.Clear;
SQL.Add('SELECT * FROM ' + GetNomeTabela);
//SQL.SaveToFile('C:\temp\sql.txt');
Open;
IDCLIENTE := FieldByName('ID_CLIENTE_CLI').AsInteger;
RAZAOSOCIAL := FieldByName('RAZAO_SOCIAL_CLI').AsString;
FANTASIACLI := FieldByName('FANTASIA_CLI').AsString;
CPFCNPJCLI := FieldByName('CPF_CNPJ_CLI').AsString;
TIPOFJCLI := FieldByName('TIPO_FJ_CLI').AsString;
NOMECLI := FieldByName('NOME_CLI').AsString;
EMAILCLI := FieldByName('EMAIL_CLI').AsString;
SITECLI := FieldByName('SITE_CLI').AsString;
ENDERECOCLI := FieldByName('ENDERECO_CLI').AsString;
COMPLEMENTOCLI := FieldByName('COMPLEMENTO_CLI').AsString;
NUMEROCLI := FieldByName('NUMERO_CLI').AsString;
BAIRROCLI := FieldByName('BAIRRO_CLI').AsString;
IECLI := FieldByName('IE_CLI').AsString;
IMCLI := FieldByName('IM_CLI').AsString;
IDCIDADECID := FieldByName('ID_CIDADE_CID').AsInteger;
IDESTADOEST := FieldByName('ID_ESTADO_EST').AsInteger
end;
finally
FreeAndNil(fdQry);
FreeAndNil(ClienteController);
end;
end;
|
PORÉM eu não sei como faço para colocar a query no dataset do datasource
frmCadastroCliente.dsCadastro.DataSet := fdQry;
mas esta dando acess violation
alguem poderia me ajudar? |
|