怎么查看var db = openDatabase('myTel','1.0','test db',1024*100);存放的数据内容
时间: 2023-06-10 19:04:35 浏览: 48
您可以使用以下代码查看var db = openDatabase('myTel','1.0','test db',1024*100);存储的数据内容:
```
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM myTable', [], function(tx, results) {
var len = results.rows.length, i;
for (i = 0; i < len; i++){
console.log(results.rows.item(i));
}
}, null);
});
```
这是一个使用SQLite查询语言执行SELECT语句的示例。在这个例子中,我们查询了名为myTable的表,并将数据打印到控制台上。
相关问题
用C++写一个mytel和telmanager类,后者有mytel的子对象
好的,我可以为您编写这个C++代码。下面是一个可能的实现:
```cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class MyTel {
public:
MyTel(string name, string number) : name_(name), number_(number) {}
string getName() const { return name_; }
string getNumber() const { return number_; }
private:
string name_;
string number_;
};
class TelManager {
public:
void addMyTel(MyTel mytel) { mytels_.push_back(mytel); }
void printAllMyTels() const {
for (const auto& mytel : mytels_) {
cout << "Name: " << mytel.getName() << ", Number: " << mytel.getNumber() << endl;
}
}
private:
vector<MyTel> mytels_;
};
int main() {
MyTel mytel1("Alice", "1234567");
MyTel mytel2("Bob", "2345678");
TelManager telmanager;
telmanager.addMyTel(mytel1);
telmanager.addMyTel(mytel2);
telmanager.printAllMyTels();
return 0;
}
```
这里我们定义了一个MyTel类,它有一个名字和一个电话号码,并且定义了一个TelManager类,它有一个MyTel对象的vector。在main函数中,我们创建了两个MyTel对象,并将它们添加到TelManager的对象中。然后我们打印出所有MyTel对象的名字和电话号码。
注意,TelManager是MyTel的父对象,因为它包含了MyTel对象。
#include <stdio.h> #include <stdlib.h> struct telnote { int no; char name[20]; char tel[20]; }; int main(void) { int code, i, cnt = 0; char scode[10]; FILE *fp; struct telnote mytel[10], buff, * p; p = &buff; while (1) { printf("\nコード入力:"); gets_s(scode); code = atoi(scode); if (code <= 0)break; p->no = code; printf("氏名入力:"); gets_s(p->name); printf("電話番号入力:"); gets_s(p->tel); mytel[cnt] =buff ; ++cnt; } if (cnt > 0) { fp = fopen("mytel.data", "w"); if (fp == NULL) { printf("file open error!!\n"); exit(1); } printf("\nコード氏名 電話番号\n"); for (i = 0; i < cnt; i++) { printf("%5d %-15s %-15s\n", buff.no, buff.name, buff.tel); fprintf(fp, "%d %s %s\n", mytel[i].no, mytel[i].name, mytel[i].tel); } fclose(fp); } else { printf("\nデータが入力されていません\n"); } return 0; }使代码可以正常运行
首先需要将第一行和第二行之间加上一个空行,否则编译器会将它们当成一个行。
然后,需要将`gets_s`替换为`fgets`,因为`gets_s`在某些编译器上可能会报错,而且`gets_s`不安全,可能导致缓冲区溢出。
最后,需要将`mytel[cnt] = buff;`改为`mytel[cnt] = *p;`,因为`buff`的值在每次输入后都会被覆盖,但是`mytel`数组中存储的是每次输入的值,不能被覆盖。
修改后的代码如下: