Como montar a string do SQL
Galera
Preciso montar uma string de comando sql que me retorne todos os registros de uma tabela cujo campo controle esteja vazio e outra string cujo campo controle contenha a letra B.
Estou usando SqlDataSet1 + DataSetProvider + ClienteDataSet + DataSource.
Grato a todos.
Objetiva Creator
Preciso montar uma string de comando sql que me retorne todos os registros de uma tabela cujo campo controle esteja vazio e outra string cujo campo controle contenha a letra B.
Estou usando SqlDataSet1 + DataSetProvider + ClienteDataSet + DataSource.
Grato a todos.
Objetiva Creator
Objetivacreator
Curtidas 0
Respostas
Evandro_araujo
16/01/2005
select * from tabela where controle is null and
controle like ´B¬´
controle like ´B¬´
GOSTEI 0
Thomaz_prg
16/01/2005
Colega Evandro a string que vc passou não retornaria dados, pois, se o campo controle está vazio, ele jamais irá conter o caracter B, e vc colocou apenas os que começam com B, e não que contenham B.
Acredito que seja isso o que o colega objectivacreator quer:
Para retornar vazio:
select * from tabela where controle is null
Para retornar os que o campo controle Contenham a letra B
select * from tabela where Upper(controle) like ´¬B¬´
Acredito que seja isso o que o colega objectivacreator quer:
Para retornar vazio:
select * from tabela where controle is null
Para retornar os que o campo controle Contenham a letra B
select * from tabela where Upper(controle) like ´¬B¬´
GOSTEI 0
Objetivacreator
16/01/2005
Caro amigo Thomaz o comando que vc passou esta dando problemas,
segue abaixo o código que estou usando ok.
Dm.cds_Servico.Close;
Dm.SQLDataSet1.Close;
Dm.SQLDataSet1.CommandText := ´select * from OS where Upper(controle) like ´¬B¬´;
Dm.SQLDataSet1.Open;
Dm.cds_Servico.Open;
O Erro.
[Error] UFrmModOrcamento.pas(133): Illegal character in input file: ´¬´ ($25)
Bom, se puder me ajudar em mais esta rotina eu agradeço.
E o seguinte.
Estou construindo uma aplicação de Orçamento.
No Form eu tenho um Grid, um botão de assistencia, na grid mostro todos os serviços cadastrados.
Quando clico no botão assistência vou a outro form (Assistencia) onde devo informar os laudos para o serviço selecionado no grid.
Vou Resumir.
Em um serviço selecionado no grid, tenho que cadastrar os laudos, que podem ser muitos, pois estes laudos servem para indicar todos os serviços realizados no produto (relógio de ponto por exemplo).
Acontece que eu quero fazer o seguinte, quando for entrar no form de cadastro de assistencia, mostrar na grid do form de assistencia somente os laudos cadastrados para este serviço e permitir cadastrar outros laudos.
Tentei usar o Mestre/Detail, mas esta dando erro quando informo os dados do laudo e mando salvar:
Relacão Mestre/Detail
Cadastrado como
tenho um ClienteDataSet para SErvico e Laudo
No ClienteDataSet do Laudo, tenho a propriedade MasterSource para ds_Os_Servico, MasterFields com a string CodOs -> CodOrcamento
sendo os dois campos chave primaria.
Codigo de novo Laudo
Dm.Os_Laudo.Insert
Codigo de Salvar laudo
Dm.cds_Laudo.FieldByName(´CodStatus´).AsInteger := Dm.cds_Servico.FieldByName(´CodStatus´).AsInteger; // Gravar o Codigo do Status contido no registro ativo do serviço
Dm.cds_Laudo.ApplyUpdates(-1);
O erro:
EDataBaseError with message ´DBX Error: no mapping for error code found´
O master/detail sera necessário ou tem outro jeito ???
Agradeço a sua atenção
Obrigado
Objetiva Creator.
segue abaixo o código que estou usando ok.
Dm.cds_Servico.Close;
Dm.SQLDataSet1.Close;
Dm.SQLDataSet1.CommandText := ´select * from OS where Upper(controle) like ´¬B¬´;
Dm.SQLDataSet1.Open;
Dm.cds_Servico.Open;
O Erro.
[Error] UFrmModOrcamento.pas(133): Illegal character in input file: ´¬´ ($25)
Bom, se puder me ajudar em mais esta rotina eu agradeço.
E o seguinte.
Estou construindo uma aplicação de Orçamento.
No Form eu tenho um Grid, um botão de assistencia, na grid mostro todos os serviços cadastrados.
Quando clico no botão assistência vou a outro form (Assistencia) onde devo informar os laudos para o serviço selecionado no grid.
Vou Resumir.
Em um serviço selecionado no grid, tenho que cadastrar os laudos, que podem ser muitos, pois estes laudos servem para indicar todos os serviços realizados no produto (relógio de ponto por exemplo).
Acontece que eu quero fazer o seguinte, quando for entrar no form de cadastro de assistencia, mostrar na grid do form de assistencia somente os laudos cadastrados para este serviço e permitir cadastrar outros laudos.
Tentei usar o Mestre/Detail, mas esta dando erro quando informo os dados do laudo e mando salvar:
Relacão Mestre/Detail
Cadastrado como
tenho um ClienteDataSet para SErvico e Laudo
No ClienteDataSet do Laudo, tenho a propriedade MasterSource para ds_Os_Servico, MasterFields com a string CodOs -> CodOrcamento
sendo os dois campos chave primaria.
Codigo de novo Laudo
Dm.Os_Laudo.Insert
Codigo de Salvar laudo
Dm.cds_Laudo.FieldByName(´CodStatus´).AsInteger := Dm.cds_Servico.FieldByName(´CodStatus´).AsInteger; // Gravar o Codigo do Status contido no registro ativo do serviço
Dm.cds_Laudo.ApplyUpdates(-1);
O erro:
EDataBaseError with message ´DBX Error: no mapping for error code found´
O master/detail sera necessário ou tem outro jeito ???
Agradeço a sua atenção
Obrigado
Objetiva Creator.
GOSTEI 0
Objetivacreator
16/01/2005
Caro amigo Thomaz o comando que vc passou esta dando problemas,
segue abaixo o código que estou usando ok.
Dm.cds_Servico.Close;
Dm.SQLDataSet1.Close;
Dm.SQLDataSet1.CommandText := ´select * from OS where Upper(controle) like ´¬B¬´;
Dm.SQLDataSet1.Open;
Dm.cds_Servico.Open;
O Erro.
[Error] UFrmModOrcamento.pas(133): Illegal character in input file: ´¬´ ($25)
Bom, se puder me ajudar em mais esta rotina eu agradeço.
E o seguinte.
Estou construindo uma aplicação de Orçamento.
No Form eu tenho um Grid, um botão de assistencia, na grid mostro todos os serviços cadastrados.
Quando clico no botão assistência vou a outro form (Assistencia) onde devo informar os laudos para o serviço selecionado no grid.
Vou Resumir.
Em um serviço selecionado no grid, tenho que cadastrar os laudos, que podem ser muitos, pois estes laudos servem para indicar todos os serviços realizados no produto (relógio de ponto por exemplo).
Acontece que eu quero fazer o seguinte, quando for entrar no form de cadastro de assistencia, mostrar na grid do form de assistencia somente os laudos cadastrados para este serviço e permitir cadastrar outros laudos.
Tentei usar o Mestre/Detail, mas esta dando erro quando informo os dados do laudo e mando salvar:
Relacão Mestre/Detail
Cadastrado como
tenho um ClienteDataSet para SErvico e Laudo
No ClienteDataSet do Laudo, tenho a propriedade MasterSource para ds_Os_Servico, MasterFields com a string CodOs -> CodOrcamento
sendo os dois campos chave primaria.
Codigo de novo Laudo
Dm.Os_Laudo.Insert
Codigo de Salvar laudo
Dm.cds_Laudo.FieldByName(´CodStatus´).AsInteger := Dm.cds_Servico.FieldByName(´CodStatus´).AsInteger; // Gravar o Codigo do Status contido no registro ativo do serviço
Dm.cds_Laudo.ApplyUpdates(-1);
O erro:
EDataBaseError with message ´DBX Error: no mapping for error code found´
O master/detail sera necessário ou tem outro jeito ???
Agradeço a sua atenção
Obrigado
Objetiva Creator.
segue abaixo o código que estou usando ok.
Dm.cds_Servico.Close;
Dm.SQLDataSet1.Close;
Dm.SQLDataSet1.CommandText := ´select * from OS where Upper(controle) like ´¬B¬´;
Dm.SQLDataSet1.Open;
Dm.cds_Servico.Open;
O Erro.
[Error] UFrmModOrcamento.pas(133): Illegal character in input file: ´¬´ ($25)
Bom, se puder me ajudar em mais esta rotina eu agradeço.
E o seguinte.
Estou construindo uma aplicação de Orçamento.
No Form eu tenho um Grid, um botão de assistencia, na grid mostro todos os serviços cadastrados.
Quando clico no botão assistência vou a outro form (Assistencia) onde devo informar os laudos para o serviço selecionado no grid.
Vou Resumir.
Em um serviço selecionado no grid, tenho que cadastrar os laudos, que podem ser muitos, pois estes laudos servem para indicar todos os serviços realizados no produto (relógio de ponto por exemplo).
Acontece que eu quero fazer o seguinte, quando for entrar no form de cadastro de assistencia, mostrar na grid do form de assistencia somente os laudos cadastrados para este serviço e permitir cadastrar outros laudos.
Tentei usar o Mestre/Detail, mas esta dando erro quando informo os dados do laudo e mando salvar:
Relacão Mestre/Detail
Cadastrado como
tenho um ClienteDataSet para SErvico e Laudo
No ClienteDataSet do Laudo, tenho a propriedade MasterSource para ds_Os_Servico, MasterFields com a string CodOs -> CodOrcamento
sendo os dois campos chave primaria.
Codigo de novo Laudo
Dm.Os_Laudo.Insert
Codigo de Salvar laudo
Dm.cds_Laudo.FieldByName(´CodStatus´).AsInteger := Dm.cds_Servico.FieldByName(´CodStatus´).AsInteger; // Gravar o Codigo do Status contido no registro ativo do serviço
Dm.cds_Laudo.ApplyUpdates(-1);
O erro:
EDataBaseError with message ´DBX Error: no mapping for error code found´
O master/detail sera necessário ou tem outro jeito ???
Agradeço a sua atenção
Obrigado
Objetiva Creator.
GOSTEI 0
Thomaz_prg
16/01/2005
Faça assim:
Dm.cds_Servico.Close;
Dm.SQLDataSet1.Close;
Dm.SQLDataSet1.CommandText := ´select * from OS where Upper(controle) like ´+QuotedStr(´¬B¬´);
Dm.SQLDataSet1.Open;
Dm.cds_Servico.Open;
ou então:
Dm.cds_Servico.Close;
Dm.SQLDataSet1.Close;
Dm.SQLDataSet1.CommandText := ´select * from OS where Upper(controle) like ´+#39+´¬B¬´+39;
Dm.SQLDataSet1.Open;
Dm.cds_Servico.Open;
Dm.cds_Servico.Close;
Dm.SQLDataSet1.Close;
Dm.SQLDataSet1.CommandText := ´select * from OS where Upper(controle) like ´+QuotedStr(´¬B¬´);
Dm.SQLDataSet1.Open;
Dm.cds_Servico.Open;
ou então:
Dm.cds_Servico.Close;
Dm.SQLDataSet1.Close;
Dm.SQLDataSet1.CommandText := ´select * from OS where Upper(controle) like ´+#39+´¬B¬´+39;
Dm.SQLDataSet1.Open;
Dm.cds_Servico.Open;
GOSTEI 0
Objetivacreator
16/01/2005
Valeu Thomaz,
Aos poucos vou entendendo os comandos em SQL
Abraços.
Aos poucos vou entendendo os comandos em SQL
Abraços.
GOSTEI 0