Ir para conteúdo
Fórum Script Brasil

andre_seco

Membros
  • Total de itens

    10
  • Registro em

  • Última visita

Posts postados por andre_seco

  1. hoje de manha falei com meu professor, ele me deu uma ajuda nos codigos...

    olha o que ele acrescentou..

    no SQL..

    "CREATE PROCEDURE [dbo].[ConsultaHorario] @data varchar(10), @sala integer

    AS

    declare @data_tmp smalldatetime

    set @data_tmp = DATEADD ( dd , (datepart(dw, convert(smalldatetime,@data,103))-1)*-1 , convert(smalldatetime,@data,103) )

    Select * from (select @data_tmp + 1 as data) a left join Reserva r on (codsala=@sala and r.data=@data_tmp + 1)

    union

    Select * from (select @data_tmp + 2 as data) a left join Reserva r on (codsala=@sala and r.data=@data_tmp + 2)

    union

    Select * from (select @data_tmp + 3 as data) a left join Reserva r on (codsala=@sala and r.data=@data_tmp + 3)

    union

    Select * from (select @data_tmp + 4 as data) a left join Reserva r on (codsala=@sala and r.data=@data_tmp + 4)

    union

    Select * from (select @data_tmp + 5 as data) a left join Reserva r on (codsala=@sala and r.data=@data_tmp + 5)

    union

    Select * from (select @data_tmp + 6 as data) a left join Reserva r on (codsala=@sala and r.data=@data_tmp + 6)

    GO"

    e no Delphi criamos um botão chamado "consultar" e nele está o seguinte codigo...

    "procedure TFPrincipal.BConsultaClick(Sender: TObject);

    begin

    AdoQueryConsulta.Close;

    AdoQueryConsulta.SQL.Clear;

    AdoQueryConsulta.SQL.Add('exec dbo.ConsultaHorario ' + QuotedStr('25/12/2008') + ',1');

    AdoQueryConsulta.Active := true;

    AdoQueryConsulta.ExecSQL;

    if AdoQueryConsulta.Fields[4].value = True then

    edAgenda11.Text := AdoQueryConsulta.Fields[17].Text;

    AdoQueryConsulta.Next;

    if AdoQueryConsulta.Fields[4].value = True then

    edAgenda21.Text := AdoQueryConsulta.Fields[17].Text;

    end;"

    não coloquei todas as colunas pra não ficar muito grande...

    agora está funcionando essa consulta.. mas ainda tenho minhas duvidas...

    quando fiz uma reserva pra testar, só mostrou o primeiro periodo de segunda feira, mas não os outros, intão eu não deveria colocar o If pra todos os Edits?

    e pareçe que depois de uma consulta, o AdoQueryConsulta, fexa a conexão e não consigo mais consultar..

    não sei c é eu que estou fazendo errado ou ainda tem umas falhas no codigo...

    agradeço ao Micheus por me ajudar em todo o processo, apesar de não usar o seu codigo, eu fiquei muito mais interessado em aprender a mexer no delphi. muito obrigado Micheus.

    André.

  2. andre_seco, você tem que me dar uma forcinha...

    DateTimePicker1 é, a título de exemplo, um componente TDateTimePicker da paleta Win32 e que é utilizado para obter datas. Na sua tela (imagem), você usa alguma outra coisa parecida com um combo - é deste "cara" que tem que vir a data. Ou, então, substitua-o pelo componente que usei no exemplo.

    Abraços

    mas estou usando esse componente, e ele tem o nome de DateTimePicker1... só esta dando esse erro...

  3. só pra responder... é um DBComboBox...

    vou estudar e fazer testes em cima do que você me falou.

    muito obrigado pela ajuda.. agora vejo uma luz no fim do tunel.. hehehe

    quando tiver os resultados posto aqui ;)

    muito obrigado de novo.

    André.

  4. pesquisei por ae e encontrei o seguinte programação...

    ADOQuery1.SQL.Add('select professor');

    ADOQuery1.SQL.Add('from Reserva');

    ADOQuery1.SQL.Add('where CodSala = :CodSala and data = :Data');

    ADOQuery1.Parameters.ParamByName('CodSala').Value := 'DBCDsala';

    ADOQuery1.Parameters.ParamByName('Data').Value := 'DateTimePicker1';

    me pareçe estar funcionando, porque não dá nenhum erro.

    mas como eu faço pra mostra o resultado dessa busca?

    e eu tenho que dizer q é pra mostrar o nome do professor só nos Bit que são 'verdadeiros'

    muito obrigado.

    André.

  5. os Edits são só pra mostrar o que está reservado...

    digamos que na quarta feira, no periodo T1, o professor Augusto(exemplo) tem reservado a sala...

    tenho que mostrar o professor(q é uma propriedade q tenho na tabela) nos periodos que foram marcados como 'verdadeiros'..

    no dia tal em tal sala...

    cada vez q tu for fazer uma reserva, vai criar um registro na tabela...

    no SQL mostra assim:

    idreserva|CodSala|______data|_M1|M2|_M3|M4|M5_|T1|_T2|T3_|T4|N1_|N2|_N3|N4_|professor

    ______1|______1 |12-12-2008|null|null|null|null|null|_1|null|null|null|null|null|null|null|Augusto

    e também outro problema..

    quando seleciono a data ali.. tenho que mostrar a semana correspondente.. não somente o dia...

    (depois de tudo tenho que dar um jeito de colocar no quickreport...)

    meu nivel de conheçimento é pouco nessa parte de programação...

    mas entendi o que você falou...

    devo colocar então em cada edit, exemplo do primeiro periodo..

    Select M1

    From Reserva where CodSala = :CodSala and Data = :Data

    mas como faço pra ligar a data que eu escolher(do datetimepicker ali da tela) a isso?

    e muito obrigado pela ajuda Micheus.

    André

  6. meu professor disse que tem que programar em cada Edit...

    no SQL Server seria acho que 'Select 'M1' e 'smaldatetime' from Reserva' (eu não sei direito como é a programação..)

    no delphi teria que ser algo desse tipo, mas num sei como ficaria e nem sei oque usar..

    ifs, ou when..

    essa parte tá me quebrando...

  7. olá galera..

    assim... o programa é de reserva de salas,

    tenho salas cadastradas e elas tem horarios fixos, tipo "1M", "2M", etc..

    o problema é o seguinte, eu tenho uma tabela no SQL Server(que botarei mais abaixo),

    e preciso mostrar os resultados em Edit's(se tiverem sugestões pra ficar mais facil eu aceito)

    e tenho que mostrar os resultados de uma semana..

    no caso segunda, terça, quarta...

    aqui o link pra vocês verem como é a tela...

    <http://download.mandeibem.com.br/arquivos/20081208-100332-0610/tela.jpg>

    a tabela que tenho é essa:

    CREATE TABLE [Reserva] (

    [idreserva] [int] IDENTITY (1, 1) NOT NULL ,

    [CodSala] [int] NOT NULL ,

    [data] [smalldatetime] NOT NULL ,

    [M1] [bit] NULL ,

    [M2] [bit] NULL ,

    [M3] [bit] NULL ,

    [M4] [bit] NULL ,

    [M5] [bit] NULL ,

    [T1] [bit] NULL ,

    [T2] [bit] NULL ,

    [T3] [bit] NULL ,

    [T4] [bit] NULL ,

    [N1] [bit] NULL ,

    [N2] [bit] NULL ,

    [N3] [bit] NULL ,

    [N4] [bit] NULL ,

    [professor] [varchar] (15) COLLATE Latin1_General_CI_AS NULL ,

    CONSTRAINT [PK_Reserva] PRIMARY KEY CLUSTERED

    (

    [idreserva],

    [CodSala]

    ) ON [PRIMARY] ,

    FOREIGN KEY

    (

    [CodSala]

    ) REFERENCES [CadSalas] (

    [CodSala]

    )

    ) ON [PRIMARY]

    GO

    desde já muito obrigado.

    André.

  8. Pessoal, tenho um programa que está conectado com o SQL Server,

    o ADOConnection está na Unit principal, e tem mais umas 4 Units com ADOTables e Datava sources.

    verificando se estava tudo correto, eu vi que depois que eu modifico alguma coisa na tabela em uma das Units, nas outras Units não apareçe a modificação, só fechando o programa e abrindo de novo pra pode atualiza as conexões...

    qria saber como fazer pra atualizar na hora essas informações das Units...

    Desde já obrigado.

    André L. W.

×
×
  • Criar Novo...