我正在尝试了解openDatabase,我想我已经将它转到INSERT INTO TABLE1,但我无法验证SELECT*FROM TABLE1是否正常工作.
<html>
<head>
<script src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("jquery", "1");
</script>
<script type="text/javascript">
var db;
$(function(){
db = openDatabase('HelloWorld');
db.transaction(
function(transaction) {
transaction.executeSql(
'CREATE TABLE IF NOT EXISTS Table1 ' +
' (TableID INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, ' +
' Field1 TEXT NOT NULL );'
);
}
);
db.transaction(
function(transaction) {
transaction.executeSql(
'SELECT * FROM Table1;',function (transaction, result) {
for (var i=0; i < result.rows.length; i++) {
alert('1');
$('body').append(result.rows.item(i));
}
},
errorHandler
);
}
);
$('form').submit(function() …Run Code Online (Sandbox Code Playgroud) 我有这个代码:
function getData(){
db.transaction(function(tx){
tx.executeSql('SELECT * from q', [], function(tx, result){
var q = [];
for (var i=0; i < result.rows.length; i++) {
q.push(result.rows.item(i));
};
console.log(q.length); // 3
returnData(q);
});
});
}
function returnData(data){
console.log(data.length); // 3
return data;
}
var q = getData(); // undefined
Run Code Online (Sandbox Code Playgroud)
它没有按预期工作(它不返回任何东西).假设发生了,因为db.transaction工作异步,但我使用回调来返回数据.有人可以解释为什么它不起作用以及如何解决这个问题?
如何从Android中的本机代码访问PhoneGap应用程序中创建的Web SQL数据库?
我有一个本地通知插件设置,我想要实现的是从Web数据库获取用户设置,以设置我的警报的正确间隔.
我正在尝试用HTML5构建移动应用程序.我需要将数据存储在数据库中.我看一下web sql数据库.我可能没有正确理解这一点,但这看起来像是我的本地存储.任何想法或参考如何处理这个?
TIA.
使用HTML5的Web SQL在iPad本地存储数据时,最大数据大小是多少?
当你达到那个时,它是否只是提示用户增加它?这是一个简单的是/否许可请求?如果是这样,那么硬限制是什么(除此之外甚至没有用户允许它扩展的选项)?
LocalStorage的工作方式是否相同?
我目前正在为 Chrome 开发一个小型扩展。我需要相同的 websql 数据库作为扩展,但我根据创建数据库的位置获得不同的数据库。
如果我在内容页面中创建数据库,我会获得为用户所在的特定页面创建的数据库。
如果我在后台页面创建数据库,那么我将获得扩展程序自己的数据库。但它对于内容页面是不可见的。
我希望我可以从内容页面访问扩展的数据库,而无需诉诸笨拙的消息传递机制。有没有办法做到这一点?
Primecheck函数应该返回true或false,无论传递的数字是否为素数.如果数字是素数,则函数将其添加到PRIMES表.这是Eratosthenes算法的Sieve,但还没有完成.
function primecheck (number) {
var isprime = true;
if (number%10 == 1 || number%10 == 3 || number%10 == 7 || number%10 == 9) {
db.transaction(function (tx) {
tx.executeSql('SELECT * from Primes', [], function (tx, result) {
for (var i = 1; i < result.rows.length; i++) {
if (number%result.rows.item(i)['prime'] == 0) {
isprime = false;
break;
}
}
if (isprime) {
tx.executeSql('INSERT INTO PRIMES (prime) values (?)', [number]);
}
return isprime;
}, null);
}, null, null);
}
else { …Run Code Online (Sandbox Code Playgroud) 我尝试从Web sql(Chrome本地数据库)获取列列表.Оne的决定 - 从sqlite_master获取信息
SELECT name, sql FROM sqlite_master WHERE type="table" AND name = "'+name+'";
Run Code Online (Sandbox Code Playgroud)
例如,我得到了这个结果
CREATE TABLE table_name ( id INTEGER PRIMARY KEY AUTOINCREMENT,
number INTEGER unique, description TEXT, password TEXT, url TEXT )
Run Code Online (Sandbox Code Playgroud)
所以帮我写regex获取列名,或者,或许,给我看另一个简单的方法获取列名.
PS.我不想做select * from table...获取列名称.我认为这是不好的解决方案..
我想将HTML Web SQL用于我的下一个Web应用程序项目,因此我快速搜索了一个教程并编写了以下代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Web SQL Test</title>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
var db = openDatabase('mydb', '1.0', 'Test DB', 2 * 1024 * 1024);
db.transaction(function (tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS LOGS (id unique, log)');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (1, "foobar")');
tx.executeSql('INSERT INTO LOGS (id, log) VALUES (2, "logmsg")');
});
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
var len = results.rows.length, i;
msg = "<p>Found …Run Code Online (Sandbox Code Playgroud) 我不明白这件事。我需要将数据存储在数据库中,因此,按照离子文档的说明,我完全按照本页的说明进行了操作:
https://ionicframework.com/docs/storage/
我在网络上阅读到不推荐使用WebSQL,所以我想使用IndexedDB来存储数据。问题是,使用get / set方法并运行“离子服务”时,我看到数据存储在WebSQL中(以字符串形式,很难在IndexedDB中看到对象)。
我究竟做错了什么?如何存储在IndexedDB中,为什么比WebSQL更喜欢它?
web-sql ×10
javascript ×5
html5 ×3
sqlite ×2
android ×1
asynchronous ×1
callback ×1
cordova ×1
indexeddb ×1
ios ×1
jquery ×1
opendatabase ×1
regex ×1
sql ×1
storage ×1