andre_seco
-
Total de itens
10 -
Registro em
-
Última visita
Posts postados por andre_seco
-
-
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é.
-
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...
-
está dando erro...
Data := DateTimePicker1.Data
[Error] Principal.pas(217): Undeclared identifier: 'DateTimePicker1'
não tá rodando...
André.
-
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é.
-
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é.
-
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é
-
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...
-
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é.
-
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.
agenda
em Delphi, Kylix
Postado
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..