[ Orca84 @ 28.03.2009. 11:19 ] @
Pozdrav svima! Imam sajt i na njemu bazu u MySQL-u. U njoj jednu tabelu koja se zove 'Tabela'. Kako da je povucem u svoju aplikaciju u DataTable ili TableAdapter? |
[ Orca84 @ 28.03.2009. 11:19 ] @
[ pl4stik @ 29.03.2009. 08:14 ] @
Pa ako je tvoj sajt napravish/izlozish web service, dodash referencu u projekat i na dalje je sve kao u lokalu.
Happy coding ![]() ![]() [ WhiteAngelBoy75 @ 11.04.2009. 00:31 ] @
Posto se jos ne bavim asp .net-om i ja se pitam. Da li je moguce recimo sajt narodne banke sa tabelom kursa dinara i
ostalih valuta kodom povezati sa vb .net windows aplikacijom da automatski sa te web lokacije unosi kurs u tabelu u sql, kad god pritisnem u programu button Update ??? [ bjevta @ 11.04.2009. 06:02 ] @
kad je reč o sajtu narodne banke, i meni je on zanimljiv.
2003-e sam radio komad softvera koji je sa neke adrese EU povlačio kursnu listu EVRO-ostale valute. Sajt EU je imao podatke u HTML i Excel formi. Kako se to radi? Pa, prvo napravite request da se otvori neki url a onda ga parsirate - druge nema. Ako nekog interesuje primer, mogao bih da ga okačim. Sve to lepo radi dok se data source (html strana ili šta je već) ne promeni - onda i Vaša rutina za import mora da se menja. Ako ima još interesenata za problematiku importa kursnih lista, mogli bismo da se organizujemo i da to rešimo tako da svima bude na raspolaganju. I to ne samo za NBS listu, već i liste komercijalnih banaka. [ Pharos @ 11.04.2009. 13:26 ] @
Evo jedan primer u C#
Code: using System; using System.Linq; using System.Text; using System.Net; using System.Collections.Generic; using System.Collections.Specialized; using HtmlAgilityPack; namespace Crawler.Library { public class WebCrawler { #region Private Methods private string GetHTMLText(string url, NameValueCollection parameters) { string htmlText = string.Empty; using (WebClient client = new WebClient()) { Encoding encoding = Encoding.UTF8; client.Encoding = encoding; client.Headers.Add("user-agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"); htmlText = encoding.GetString(client.UploadValues(url, "post", parameters)); } return htmlText; } #endregion #region Public Methods public string GetMiddleExchangeRate(DateTime date) { string ret = string.Empty; try { string requestedDate = date.ToString("dd.MM.yyyy"); string url = @"http://www.nbs.rs/internet/latinica/scripts/kl.html"; NameValueCollection parameters = new NameValueCollection(); parameters.Add("datum", requestedDate); parameters.Add("eksport", "html"); parameters.Add("vrsta", "3"); ret = GetHTMLText(url, parameters); HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(ret); HtmlNodeCollection nodes = doc.DocumentNode.SelectNodes("//td[@class='tablecell']"); StringBuilder sb = new StringBuilder(); foreach (HtmlNode node in nodes) { sb.AppendLine(node.InnerText); } ret = sb.ToString(); } catch(Exception ex) { ret = ex.Message; } return ret; } #endregion } } Potrebno je referencirati HtmlAgilityPack koji se može skinuti ovde: http://www.codeplex.com/htmlagilitypack Funkcija GetMiddleExchangeRate vraća string u sledećem obliku Code: 978 Evropska unija EUR 1 94,8637 036 Australija AUD 1 49,4185 ... Vi je modifikujte prema svojim potrebama (da vraća neki biznis objekat, DataRow, etc) Primer pozivanja funkcije u kodu, tako da vrati kursnu listu za 1. april 2009. god: Code: Crawler.Library.WebCrawler crawler = new Crawler.Library.WebCrawler(); string rates = crawler.GetMiddleExchangeRate(new DateTime(2009, 4, 1)); Happy coding! [ perun85 @ 11.04.2009. 16:06 ] @
Zar nije prakticnije iskoristiti kursnu listu NBS u vidu web servisa na adresi:
http://webservices.nbs.yu/Comm.../TempExchangeRatesService.asmx [ bjevta @ 11.04.2009. 16:19 ] @
da, ovo su odlične napomene, pogotovo primer primene agiliti pack-a.
šta je sa ostalim bankama? imaju li one web servise za emitovanje kursne liste? [ perun85 @ 11.04.2009. 17:01 ] @
Stvarno ne znam, NBS servis sam koriostio u jednom projektu vezanom za fax.
[ Pharos @ 11.04.2009. 17:12 ] @
Citat: perun85: Zar nije prakticnije iskoristiti kursnu listu NBS u vidu web servisa na adresi: http://webservices.nbs.yu/Comm.../TempExchangeRatesService.asmx Naravno da je praktičnije iz više razloga, ali.. Ovim primerom sam pokazao kako da dođemo do podataka kada ne postoji web servis. Šta ako želimo da uporedimo kursnu listu više različitih banaka, a one nemaju web servis? [ perun85 @ 11.04.2009. 22:41 ] @
Razumeo sam sta si hteo reci, nego sam htreo da pomenem da u slucaju kursne liste NBS postoji i resenje u vidu web servisa.
[ WhiteAngelBoy75 @ 12.04.2009. 02:34 ] @
perun85 ti si genije !!! Kako se pristupa tom serveru? mozes li napisati kod u vb .net ??? Inace ja sam mislio, kako se
pristupa tabeli, promenjivima nekog sajta ??? Recimo ovog ??? http://www.kursna-lista.com/kursna-lista-nbs [ perun85 @ 12.04.2009. 10:24 ] @
Pa kao i svakom web servisu, na netu stvarno ima dosta tutorijala koji pokrivaju tu tematiku.
Ovo za pristup promenljivima nisam bas razumeo. Ako hoces da pristupis odredjenim celijama u tabeli na sajtu koji si naveo, najbolji nacin ti je da iskoristis Pharosovo resenje. [ WhiteAngelBoy75 @ 14.04.2009. 14:50 ] @
Pharaos... preveo sam tvoj code na vb .net ali imam problem sa HtmlAgilityPack; downloadovao sam ga u comp, otpakovao iz arhive i nigde ne vidim *.dll ili bolje receno kako i na sta da dodam Add Reference... ???
Primere iz Pack-a trazi prvo da konvertujem u 2008 i ima milion gresaka pa ne znam ni kako rade, ali mi nisu potrebni... !!! Help !!! [ Pharos @ 18.04.2009. 22:31 ] @
U solution exploreru, desni klik na folder References > Add Reference... > Browse i selektuješ ovaj .dll
[ WhiteAngelBoy75 @ 20.04.2009. 14:32 ] @
Hvala Pharos... sto si postavio *.dll jer ne dodje u pakovanju... !!! Radi super, uz pomoc malo maste moze se napraviti
jedna mala tabela u SQL i dugme Update u programu za Update... !!! Zna li neko napisati code, kako se proverava da li je comp na Internetu ulogovan ili nije... ( mislim na ADSL ) ??? Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|