smack_dead Posted March 6, 2014 at 12:32 PM Report #547743 Posted March 6, 2014 at 12:32 PM (edited) ola, estou a ter duvidas em conceber uma função para registar encomendas , isto e tenho de registar uma encomenda 'AOrder' caso seja registada a função devolve 1 , se a encomenda ja existir na bd (ordNumber) então a encomenda na bd devera ser atualizada... Tcountry = record countryCode : String[2]; countryName : String[60]; end; Tcountries = array of Tcountry; Edited May 23, 2014 at 09:04 AM by smack_dead
smack_dead Posted March 7, 2014 at 02:57 PM Author Report #547835 Posted March 7, 2014 at 02:57 PM (edited) alguma dica???como posso registar coisas na bd? function Twebserver.SetOrder : Torders; stdcall; begin end; Edited March 10, 2014 at 02:10 PM by smack_dead
CanonTG Posted March 10, 2014 at 03:37 PM Report #548085 Posted March 10, 2014 at 03:37 PM como assim?
smack_dead Posted March 10, 2014 at 04:34 PM Author Report #548097 Posted March 10, 2014 at 04:34 PM tenho de criar uma função para registrar produtos na bd....
nunopicado Posted March 11, 2014 at 05:38 PM Report #548250 Posted March 11, 2014 at 05:38 PM Ainda não consegui perceber esse método de trabalho... SQL e Records? Base de dados duplicada em memória? Algum motivo especial para isto? Afinal, para onde precisas meter a encomenda? É que é radicalmente diferente a maneira de trabalhar, dependendo do método de armazenamento usado. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
smack_dead Posted March 12, 2014 at 02:15 PM Author Report #548393 Posted March 12, 2014 at 02:15 PM então, isto e quase como se fosse uma loja on-line, em que as encomendas eram geradas para o cliente(dono da empresa)deve registar a encomenda Aorder na struct... cajo seja registada devolve 1, se esta ja existir a encomenda e actualizada.... depois a função tem varias validações, onde deverei usar if's ...
nunopicado Posted March 12, 2014 at 02:22 PM Report #548396 Posted March 12, 2014 at 02:22 PM Isso é o objectivo do programa... Não é problema, podia ser esse ou outro qualquer. O que não entendo é porquê teres os dados no SQL e passares para Record, duplicando a base de dados, e aumentando (e muito) o grau de complexidade e o risco de falhas. Porque não fazer tudo com o SQL, e esquecer os records? Qual o sentido por trás disso? "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
smack_dead Posted March 12, 2014 at 02:39 PM Author Report #548400 Posted March 12, 2014 at 02:39 PM o sentido e ser um web server... qualquer pessoa com acesso ao wsdl usufrui das funções e updates ..
nunopicado Posted March 12, 2014 at 02:50 PM Report #548406 Posted March 12, 2014 at 02:50 PM E onde é que os records entram nisso? Repara, não estou a questionar o que o programa vai fazer, nem quem o vai usar ou como. Estou a perguntar se há algum motivo para duplicar a base de dados em memória, com duas tecnologias tão distintas. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
smack_dead Posted March 12, 2014 at 03:08 PM Author Report #548412 Posted March 12, 2014 at 03:08 PM pois isto e um web server.... este é o que esta entre o cliente e a bd... o web server e posto online e qualquer pessoa tem acesso a bd...
nunopicado Posted March 12, 2014 at 03:15 PM Report #548416 Posted March 12, 2014 at 03:15 PM ok "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
smack_dead Posted March 12, 2014 at 03:36 PM Author Report #548420 Posted March 12, 2014 at 03:36 PM (edited) Não me podes dar uma ajuda para fazer um setOrder??? e que nao sei como começar :S Edited March 12, 2014 at 03:58 PM by smack_dead
nunopicado Posted March 12, 2014 at 04:01 PM Report #548423 Posted March 12, 2014 at 04:01 PM Enquanto eu não compreender como estás a trabalhar na base de dados, não... Tenho-te estado a perguntar o porquê dos records, só me respondes o que o programa vai fazer, e que é um webserver... Até podia ser uma agenda de números eróticos, que não me respondia ás questões: - Porquê duplicar a base de dados em memória, com SQL e Records? - Em que base de dados estás a trabalhar a cada momento: SQL ou Records? Como é que vou ajudar a fazeres um formulário para meter uma encomenda na base de dados, se nem me conseguiste ainda explicar como funciona essa base de dados e em qual é que trabalhar, guardas, lês, etc.? 1 Report "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
smack_dead Posted March 12, 2014 at 04:15 PM Author Report #548425 Posted March 12, 2014 at 04:15 PM (edited) pois a base de dados estou com ela no heidisql...quando faco uma encomenda Aorder ele vai registar isso no struct..pelo menos e o que me parece do exercicio também,... ainda não cheguei ao que tu querias? Edited May 23, 2014 at 09:05 AM by smack_dead
nunopicado Posted March 12, 2014 at 04:31 PM Report #548426 Posted March 12, 2014 at 04:31 PM Eu entendi que é isso que fazes... Não entendi é porquê. Vejamos, a ver se percebi correctamente o que precisas: Tens uma base de dados em MySQL (o HeidiSQL é apenas um browser SQL, não um sistema de base de dados). Precisas fazer um programa que manipule essa base de dados (o que vai fazer com ela, nesta fase, é indiferente). Em que sentido precisas do Record, que é outra estrutura para guardar dados? O Record fazia sentido aqui se em vez de teres a base de dados no SQL, a tivesses em ficheiros sequenciais. Mas não é o caso. Assim, tens duas estruturas. Como lidas com elas? Trabalhas no SQL e passas os dados para o Record? Para quê? Trabalhas no record e passas os dados para o SQL? Para quê? Esta dinâmica (ou falta dela) faz com que: 1º O programa é mais lento, e come mais recursos 2º Tens a informação espalhada em duas estruturas. Estão iguais em cada momento? Se sim, como? Em que momento copias de um lado para o outro? 3º A informação está toda duplicada? Ou só algumas tabelas? Que mecanismos tens para te assegurar que a informação necessária já foi sincronizada 4º Qual a prioridade das estruturas? Lês no record e passas para o SQL ou vice-versa? Podiamos ir por aqui fora... E a forma de fazeres o interface vai depender enormemente de saberes exactamente com que base estarás a trabalhar. Se for no SQL, usas componentes DB-Aware. Se for no Record, usas componentes normais + código para injectar os dados no record. O exercício diz-te que tens de usar records? Ou foi uma dedução tua? "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
smack_dead Posted March 18, 2014 at 10:21 AM Author Report #548944 Posted March 18, 2014 at 10:21 AM Então, o que preciso de fazer e uma função que escreva na base de dados os campos da struct com aquelas verificações que referi em cima.... Nao vou guardar do struct posso logo guardar para a base de dados...
nunopicado Posted March 18, 2014 at 03:07 PM Report #548991 Posted March 18, 2014 at 03:07 PM Ou seja, vais trabalhar sobre a base de dados directamente. Se assim é, não vais escrever na DB os campos do Record. Vais escrever na DB os campos da DB. Crias um form com uma query, um datasource, e componentes DB-Aware para cada campo que o utilizador possa inserir (por exemplo, TDBEdit) Uma vez preechidos as propriedades de base de dados desses componentes (DataSource e DataField), o que o utilizador escrever neles, vai direitinho para a base de dados. Podes, se quiseres, meter um TDBNavigator também, que te dará uma régua com os botões mais comuns para lidar com os registos de uma base de dados, incluindo a criação de um novo registo. 1 Report "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
smack_dead Posted March 18, 2014 at 05:32 PM Author Report #549011 Posted March 18, 2014 at 05:32 PM ok 😄 eu ja quase que terminei acho , daqui a pouco já meto aqui para dar-me a sua opinião 😄
smack_dead Posted March 18, 2014 at 06:17 PM Author Report #549021 Posted March 18, 2014 at 06:17 PM (edited) function Twebserver.SetOrder : Torders; stdcall; var codigo : string; numero : integer; data : string; hora : string; begin D.ADOQuerytable.SQL.Clear; D.ADOQuerytable.SQL.Text := 'select * from sf_encomendas'; D.ADOQuerytable.Open; D.ADOQuerytable.First; D.ADOQuerytable.Insert; D.ADOQuerytable.FieldByName('codcliente').AsString := codigo; D.ADOQuerytable.FieldByName('numencomenda').AsInteger := numero; D.ADOQuerytable.FieldByName('dataentrega').AsString := FormatDateTime('yyyy-mm-dd',data);---> esta a dar erro D.ADOQuerytable.FieldByName('horaentrega').AsString := hora; D.ADOQuerytable.Post; end; preciso que a data seja por ano/mes/dia e hora por ... horas minutos segundos... Edited March 18, 2014 at 06:18 PM by smack_dead
nunopicado Posted March 18, 2014 at 06:37 PM Report #549025 Posted March 18, 2014 at 06:37 PM Estás a usar uma função chamada FormatDateTime, o compilador dá-te erro nessa função (e até te diz qual o erro). Que tal ver a declaração dessa função para veres que tipo de parâmetros aceita? http://docwiki.embarcadero.com/Libraries/XE2/en/System.SysUtils.FormatDateTime 1 Report "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now