Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB.NET: Vb2010: Tekstien purkaminen tietokantaan

Perza [26.11.2011 20:09:57]

#

Miten Vb2010:llä voi suodattaa seuraavanlaisen viivakoodin lukijan antaman koodin tekstitiedostosta? Ohjelman olisi tarkoitus siirtää ja suodattaa teksti access tietokantaan siten, että se tunnistaa erikseen päivämäärän, kellonajan ja lopussa olevan 6 numeroisen koodin. Tekstitiedosto sisältää useita viivakoodinlukijan koodeja ja sen pitäisi tallentaa ja rekisteröidä ne tietokantaan.

2011/11/03 21:41:51,000104
2011/11/03 22:20:54,000100

Metabolix [26.11.2011 20:34:58]

#

Asialla ei ilmeisesti ole enää tuossa vaiheessa mitään tekemistä viivakoodien kanssa, joten vaihdetaanpa keskustelun otsikkoa. :)

Voit lukea tiedostosta kaikki rivit funktiolla System.IO.File.ReadAllLines. Sitten voit purkaa kunkin rivin esimerkiksi säännöllisillä lausekkeilla:

Imports System.Text.RegularExpressions
Dim MatchObj As Match = Regex.Match(rivi, "(\d+)/(\d+)/(\d+) (\d+):(\d+):(\d+),(\d+)")
' MatchObj.Groups(1) = "2011"
' MatchObj.Groups(2) = "11"
' ...
' MatchObj.Groups(7) = "000104"

Käytännöllisin ratkaisu riippuu siitä, miten tarkalleen laitat tietoja tietokantaan.

Grez [26.11.2011 20:38:36]

#

C#:lla menisi esim. näin

var aika = DateTime.ParseExact(rivi.Substring(0,19),"yyyy\\/MM\\/dd HH:mm:ss",null);
var koodi = rivi.Substring(20);

(Konekäännettynä VB.Netiksi)

Dim aika = DateTime.ParseExact(rivi.Substring(0, 19), "yyyy\/MM\/dd HH:mm:ss", Nothing)
Dim koodi = rivi.Substring(20)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta