Я пытаюсь создать функцию строки соответствия, которая будет читать базу данных SQLLite (javascript created) из qml и соответствовать строке (адрес веб-страницы, данный ей в моем случае), это мой код файла базы данных:Как сравнить QML-строку из базы данных SQLight
.pragma library
var db;
// opens database at launch
function openDB()
{
db = openDatabaseSync("BookmarksDB","1.0","Bookmarks Database",1000000);
createTable();
}
// creates table if it doesn't exist, otherwise ignores
function createTable()
{
db.transaction(
function(tx) {
tx.executeSql("CREATE TABLE IF NOT EXISTS bookmarks (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, url TEXT, creationdate TEXT, modified DATETIME)");
}
)
}
// deletes table
function dropTable()
{
db.transaction(
function(tx) {
tx.executeSql("DROP TABLE IF EXISTS bookmarks");
}
)
}
// creates a single bookmark record
function createBookmark(bookmarkItem)
{
db.transaction(
function(tx) {
tx.executeSql("INSERT INTO bookmarks (title, url, creationdate, modified) VALUES(?,?,?,?)",[bookmarkItem.title, bookmarkItem.url, bookmarkItem.creationdate, bookmarkItem.modified]);
}
)
}
// updates a single bookmark record
function updateBookmark(bookmarkItem)
{
db.transaction(
function(tx) {
tx.executeSql("UPDATE bookmarks SET title = ?, url = ?, creationdate = ?, modified = ? WHERE id = ?",
[bookmarkItem.title, bookmarkItem.url, bookmarkItem.creationdate, bookmarkItem.modified, bookmarkItem.id]);
}
)
}
// deletes a single bookmark record
function deleteBookmark(id)
{
db.transaction(
function(tx) {
tx.executeSql("DELETE FROM bookmarks WHERE id = ?", [id]);
}
)
}
// read list of bookmarks
function readBookmarkList(model)
{
model.clear();
var sqlstring = "SELECT id, title, url, creationdate FROM bookmarks";
db.readTransaction(
function(tx) {
var rs;
rs = tx.executeSql(sqlstring);
for (var i = 0; i < rs.rows.length; i++) {
model.append(rs.rows.item(i))
}
}
)
}
// read a single bookmark item
function readBookmarkItem(id) {
var data = {}
db.readTransaction(
function(tx) {
var rs = tx.executeSql("SELECT * FROM bookmarks WHERE id=?", [id])
if(rs.rows.length === 1) {
data = rs.rows.item(0)
}
}
)
return data;
}
// create a default bookmark item
function defaultItem()
{
return {title: "", url: "", creationdate: new Date(), modified: new Date()}
}
Я хотел создать что-то подобное, функция checkUrl (URL) {
если (dbvalues == URL) { возвращающие } еще {возвращение false}
} }
Но у меня нет понятия, как читать все данные из таблиц и сравнивать их с указанным в функции URL.
Может кто-нибудь, пожалуйста, помогите мне?
Я полный нуб с SQL вещи
Использование Qt Quick 1.1 на Symbian
Ну, это как-то странно, так как код, который вы опубликовали, имеет все необходимые функции для этого. Вы получаете данные с помощью 'executeSql()', тогда вы можете ссылаться на него, вызывая 'rs.rows.thenameoffield (number) .attribute', где number - это значение, которое представляет собой частный результат. – Nadarian
. Я искал его для проверки на каждую запись url в базе данных, например rs.rows.url (1) .attribute return 'rs.rows' [undefined] не является объектом. Почему я сказал, что я был noob в SQL-материале – Paul
Возможно, запрос SQL неверен. Получите некоторые основы от f.e. wc3schools и попытайтесь сделать правильный запрос. – Nadarian