Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Visual basic - posílání dat a SQL

Zdravim,
Tvořím program ve visual basic 2008, který by měl automaticky odesílat data (např. obrázky) na email a chtěl bych, aby když by se zapnul program (po restartováni PC) neodesílal obrázky, které už odeslal, tedy přišel jsem k názoru, že by mi mohl pomoct SQL a tady nastal problém, že se SQL vůbec nemám zkušenosti, tedy chtěl bych vás poprosit o radu jak na to, díky.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Záleží od konkrétnych podmienok, ale bežne sa takéto veci riešia jednoducho tak, že po uploadnutí te… nový
los 03.12.2011 22:27
los
Díky hodně z toho co jste mi tu napsali se mi hodí, aspoň mám nějaký vodítka, ale mimochodem kdybych… nový
xtroff 03.12.2011 22:44
xtroff
Reťazec nemusíš nahrávať do textboxu, stačí ho porovnať v pamäti. Najprv si načítaš celý obsah súbo… nový
los 03.12.2011 22:52
los
ok, s tímhle si snad už poradím, tak děkuji poslední
xtroff 03.12.2011 23:14
xtroff

Záleží od konkrétnych podmienok, ale bežne sa takéto veci riešia jednoducho tak, že po uploadnutí ten súbor presunieš do iného adresára. Výhodou je, že nepotrebuješ databázu a okamžite vie hocikto povedať, čo bolo odoslané a čo na odoslanie ešte len čaká.

Ak neprichádza presun súborov do úvahy, tak ďalšou možnosťou na zváženie je rozhodovať sa podľa vlastností súboru. Ak máš napr. garantované, že súbory na odoslanie budú mať čas vytvorenia vzostupný, tak ti stačí ukladať si niekam do súboru len čas posledného odoslania. Prípadne ak máš tie súbory nejako vzostupne pomenované, tak si môžeš ukladať do súboru len názov posledného odoslaného súboru. Alebo môžeš využiť archive flag, ktorý budeš nastavovať podľa toho, či už bol uploadnutý alebo nie. Alebo môžeš ku každému súboru vytvoriť pomocný súbor s príponou napr. .uploaded. V každom prípade by si mal takéto pokročilé využitie vlastností súborového systému poriadne zdokumentovať. :-)

Ak si potrebuješ pamätať odoslanie o každom súbore, tak budeš musieť použiť databázu. Môžeš použiť buď jednoduchý textový súbor, embedded databázu, alebo serverové riešenie. Ak je súborov málo, stačí ti už spomenutý textový súbor. Ak je ich veľa alebo si k nim potrebuješ ukladať ďalšie informácie, môžeš využiť embedded databázu. Ak k tým informáciám potrebuje pristupovať aj nejaký iný program, využiješ serverové riešenie.

Díky hodně z toho co jste mi tu napsali se mi hodí, aspoň mám nějaký vodítka, ale mimochodem kdybych se rozhodl jít cestou, že by se to ukládalo do texťaku nebo jiného typu tak nevim jak to z toho vyhledat, dejme tomu že je to udělané takto...Do textbox1 se načte název souboru - a teď ten název se má porovnávat s textbox2 který bude postupně zobrazovat řádek po řádku přečtených z daného textového souboru dokud se tyto dva textboxy neshodnou, tedy ptám se jak udělat, aby ten textbox2 četl řádek po řádku z toho daného textového souboru. Jinak jestli je lepší řešení...
Nejsem v tom moc znalej...
Dík

Reťazec nemusíš nahrávať do textboxu, stačí ho porovnať v pamäti.

Najprv si načítaš celý obsah súboru do pamäte pomocou ReadAllText, následne ho rozdelíš podľa riadkov pomocou Split a uložíš si to do slovníka pomocou ToDictionary. Potom otestovanie, či už bol odoslaný, bude spočívať v jednoduchom zavolaní metódy ContainsKey.

Počas uploadovania budeš do toho slovníka pridávať pomocou Add názvy súborov a nakoniec hodnoty Keys spojíš pomocou Join a to uložíš späť do toho súboru pomocou WriteAllText.

Ak to chceš spúšťať automatizovane, tak zabudni na GUI aplikáciu a sprav to ako konzolovú aplikáciu, prípadne ako systémovú službu.

Zpět do poradny Odpovědět na původní otázku Nahoru