Jump to content
Fórum Script Brasil

andre_seco

Membros
  • Content Count

    10
  • Joined

  • Last visited

Posts posted by andre_seco

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

    ali em "QuotedStr('25/12/2008')" oque eu boto no lugar do dia 25...

    por que só volta reservas dessa semana..

  2. 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 ([email protected] and [email protected]_tmp + 1)

    union

    Select * from (select @data_tmp + 2 as data) a left join Reserva r on ([email protected] and [email protected]_tmp + 2)

    union

    Select * from (select @data_tmp + 3 as data) a left join Reserva r on ([email protected] and [email protected]_tmp + 3)

    union

    Select * from (select @data_tmp + 4 as data) a left join Reserva r on ([email protected] and [email protected]_tmp + 4)

    union

    Select * from (select @data_tmp + 5 as data) a left join Reserva r on ([email protected] and [email protected]_tmp + 5)

    union

    Select * from (select @data_tmp + 6 as data) a left join Reserva r on ([email protected] and [email protected]_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é.

  3. 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...

  4. 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é.

  5. 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é.

  6. 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é

  7. 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...

  8. 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é.

  9. 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.

×
×
  • Create New...