Sub Class_Globals
'Private fx As JFX
Type SinglePassword(Id As Int,Name As String,User As String,Url As String,Password() As Byte,Changed As Long,Source As String,Mail As String,Note As String)
End Sub
'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize
End Sub
public Sub LoadAll(Filter As String) As List
If Filter="" Then
Filter="%"
Else
Filter="%" & Filter & "%"
End If
Dim List1 As List
List1.Initialize
Dim DB1 As DB
DB1.Initialize
Dim sql1 As SQL = DB1.Open
Dim rs As ResultSet = sql1.ExecQuery2("SELECT * FROM PASSWORDS WHERE NAME LIKE ? OR USER LIKE ? OR MAIL LIKE ? OR URL LIKE ? OR NOTE LIKE ? OR SOURCE LIKE ? ORDER BY NAME",Array As String(Filter,Filter,Filter,Filter,Filter,Filter))
Do While rs.NextRow
Dim Item11 As SinglePassword
Item11 = FromDB(rs)
List1.Add(Item11)
Loop
rs.Close
DB1.Close
Return List1
End Sub
Sub FromDB(rs As ResultSet) As SinglePassword
'Log("FromDB")
Dim Item As SinglePassword
Item.Initialize
Item.Id = rs.GetString("Id")
Item.Name = rs.GetString("Name")
Item.User = rs.GetString("User")
Item.Password = rs.GetBlob("Password")
Item.Changed = rs.GetLong("Changed")
Item.Mail = rs.GetString("Mail")
Item.Source = rs.GetString("Source")
Item.Url = rs.GetString("Url")
Item.Note = rs.GetString("Note")
Return Item
End Sub
Sub Delete(Item As SinglePassword)
Dim db1 As DB
db1.Initialize
Dim sql1 As SQL = db1.Open
sql1.ExecNonQuery2("DELETE FROM Passwords WHERE Id=?", Array As Object( Item.Id))
db1.Close
End Sub
Sub Save(Item As SinglePassword)
Dim db1 As DB
db1.Initialize
Dim sql1 As SQL = db1.Open
Dim arg As List
arg = Array As Object(Item.Name,Item.User,Item.Password,Item.Changed,Item.Url,Item.Source,Item.Mail,Item.Note)
If Item.Id=0 Then
Log("INSERT")
'Autokey
sql1.ExecNonQuery2("INSERT INTO Passwords (Name,User,Password,Changed,Url,Source,Mail,Note) VALUES (?,?,?,?,?,?,?,?);", arg)
Else
Log("UPDATE")
' without '' at strings!!! just ? as parameter !!!
sql1.ExecNonQuery2("UPDATE Passwords SET Name=?,User=?,Password=?,Changed=?,Url=?,Source=?,Mail=?,Note=? WHERE Id=" & Item.Id, arg)
End If
db1.Close
End Sub