Vitas rašė:
> Sveiki,
> Gal galėtumėte patarti kokį metodą VBscript galėčiau naudoti kaupti
> duomenims?
> Duomenys yra skirtingų duomenų tipų, todėl negaliu naudoti masyvų. Pvz toks:
> ID Name Age
> A Jonas 20
> ? Petras 14
> B Kazys 8
> C Nezinomas 30
> C Agne 28
> C Jurga 15
>
> Ačiū už patarimus.
Atsisiunti ir įsidiegi dhSQLite (visą RichClient):
http://www.thecommon.net/2.html
ir dirbsi su pilnavertėmis SQLite duomenų bazėmis per paprastus
COM'inius objektus. Dokumentacija kiek skurdoka, pavyzdžiai tik VB6,
tačiau VBScipt'ui (Windows Script) viskas gana elementaru:
Set cnn = CreateObject("dhRichClient3.cConnection")
cnn.CreateNewDB "test.db"
cnn.Execute("CREATE TABLE test (id TEXT, name TEXT, age INT)")
cnn.Execute("INSERT INTO test (id, name, age) VALUES ('A', 'Jonas', 20)")
cnn.Execute("INSERT INTO test (id, name, age) VALUES ('?', 'Petras', 14)")
' cRecordset
Set rs = cnn.OpenRecordset("SELECT * FROM test")
rs.AddNew
rs.Fields("id").Value = "B"
rs.Fields("name").Value = "Kazys"
rs.Fields("age").Value = 8
rs.AddNew
rs.Fields("id").Value = "C"
rs.Fields("name").Value = "Nežinomas"
rs.Fields("age").Value = 30
rs.AddNew
rs.Fields("id").Value = "C"
rs.Fields("name").Value = "Agnė"
rs.Fields("age").Value = 28
rs.AddNew
rs.Fields("id").Value = "C"
rs.Fields("name").Value = "Jurga"
rs.Fields("age").Value = 15
' write/save changes to database file
rs.UpdateBatch
WScript.echo "Records: " & rs.RecordCount
rs.MoveFirst
While Not rs.EOF
WScript.echo "Id: " & rs.Fields("id")
WScript.echo "Name: " & rs.Fields("name")
WScript.echo "Age: " & rs.Fields("age")
rs.MoveNext
Wend
If rs.FindFirst("name = 'Jonas'") Then
WScript.echo "Name before: " & rs.Fields("name")
rs.Fields("name") = "Jonas Baločka"
WScript.echo "Name after: " & rs.Fields("name")
End if
Kitas būdas — įsidiegti newobjects AXPack1 (visą ar tik SQLite[3] COM):
http://www.newobjects.com/product.asp?Category=63
http://www.newobjects.com/product.asp?Category=71
http://www.newobjects.com/product.asp?Category=76
o tada jau operuoji/manipuliuoji, kaip tik vaizduotė leidžia: SFRecord,
SFStorage, VarDictionary, tas pats SQLite. Dokumentacija padori, yra
pavyzdžių ir būtent VBScript'o pavyzdžių.