Tema: Re: VB duomenų saugojimas
Autorius: Laimis
Data: 2011-11-04 12:02:36
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ų.