现在如果使用SQLite话就用coreData。你那个功能就是做个分页,跟数据库的存储没有关系。别把
数据Data
存储在数据库中,这样会使数据库变的很大,并且读取很不方便。把地址或者网址存储下来,然后显示出来就是了。
② ios 怎样打开sqlite数据库
iOS 上的sqlite数据库比较好添加,一般只需要以下两个步骤:
1. 添加sqlite3.dylib,可以通过工程->添加framework和library的方式来添加,位置一般在/usr/lib/libsqlite.dylib
2. 添加sqlite头文件,一般在/usr/include下。
这样准备工作就做完了。
创建sqlite db:
sqlite3 *database
sqlite3_open(DB_Path, &database);
③ ios怎么导入sqlite数据库文件
1、在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件。
④ 怎么看到ios sqlite数据库
IOS8以前版本, 如果是模拟器的话, 在这个路径中找到你的应用: /Users/你的用户名/Library/Application Support/iPhone Simulator/5.1/Applications/应用目录 IOS8在以下路径中找到你的应用 /Users/username/Library/Developer/CoreSimulator/Dev...
⑤ ios能否使用事先制作好的sqlite数据库
使用现成的sqlite数据库是完全可以的,方法如下: 把数据库文件添加到你的工程下,假设你的数据库名是database.sqlite,可在程序中这样获取数据库路径: [[NSBundle mainBundle] pathForResource:@"database" ofType:@"sqlite"]] (引号前面的斜杠不用加,cc编辑器自动帮我加的) 另外建议你用一个叫fmdb的开源的库,可以方便地对sqlite进行操作,减少不少工作量。
⑥ iOS简单的多表查询以及SQLite注意点
多表查询
假如有两张表:
表A:
表B:
这里我们是通过相同列名departmentNumber来进行条件查询相关信息:
1.内连接查询:返回的结果只有满足departmentNumber相等的结果
sql语句(有两种方式):
```
-->select a.name, b.name from A as a, B as b where a.departmentNumber = b.departmentNumber
-->select a.name, b.name from A as a inner join B as b on a.departmentNumber = b.departmentNumber
```
查询结果:
2.左外链接查询:返回的结果只和左边的表有关(这里假定A是左边的表),右边表如果没有对应值,就为NULL
sql语句:
```
-->select a.name, b.name from A as a left outer join B as b on a.departmentNumber= b.departmentNumber
```
返回结果:
3.右外链接查询:返回的结果只和右边的表有关(这里假定B是右表),那么如果左边表是没有对应值,就为NULL
sql语句:
```
-->select a.name, b.name from A as a right OUTER join B as b on a.departmentNumber = b.departmentNumber
```
返回结果:
4.完全外链接查询:想获取两个表所有信息,如果两个表内没有对应值的就用NULL表示
sql语句:
```
-->select a.name, b.name from B as b full OUTER join A as a on a.departmentNumber = b.departmentNumber
```
返回结果:
注意点:在sqlite中是不支持右外连接和完全外链接的,但是可以通过以下方式来进行连接:
1.sqlite中的右外连接:将左外连接的表换个顺序就可以了
```
-->select a.name, b.name from B as B left outer join A as A on a.departmentNumber = b.departmentNumber
```
返回结果:
2.sqlite中的完全外链接:用关键字union将两句连接起来进行合并
```
-->select a.name, b.name from B as b left OUTER A as a on a.departmentNumber = b.departmentNumber
UNION
select a.name, b.name from A as a left outer B as b on a.departmentNumber = b.departmentNumber
```
返回结果:
⑦ ios能否使用事先制作好的sqlite数据库
把数据库文件添加到你的工程下,假设你的数据库名是database.sqlite,可在程序中这样获取数据库路径:
[[NSBundle mainBundle] pathForResource:@"database" ofType:@"sqlite"]]
(引号前面的斜杠不用加,cc编辑器自动帮我加的)
⑧ 访问SQlite数据库的ios程序制作
现在如果使用SQLite话就用coreData。你那个功能就是做个分页,跟数据库的存储没有关系。别把数据Data存储在数据库中,这样会使数据库变的很大,并且读取很不方便。把地址或者网址存储下来,然后显示出来就是了。
⑨ ios 怎么打开sqlite数据库
ITJOB题库中也有这道题,大概过程是这样。新建Empty Appliation,添加一个HomeViewController,和一个组件libsqlite3.dylib,来支持对sqlite3的连接,关闭,增删改查等操作。
1. HomeViewController.h代码:
#import <UIKit/UIKit.h>
#import "sqlite3.h"
@interface HomeViewController : UIViewController{
sqlite3 *db; //声明一个sqlite3数据库
}
- (NSString *)filePath;//数据库文件的路径。一般在沙箱的Documents里边操作
@end
2. HomeViewController.m代码:
#import "HomeViewController.h"
@interface HomeViewController ()
@end
@implementation HomeViewController
//该方法用于返回数据库在Documents文件夹中的全路径信息
- (NSString *)filePath{
NSArray *paths = (NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
return [documentsDir :@"Contacts.sqlite"];
}
//打开数据库的方法
- (void)openDB{
if (sqlite3_open([[self filePath] UTF8String], &db) != SQLITE_OK) {
sqlite3_close(db);
NSAssert(0, @"数据库打开失败。");
}
}
- (void)getAllContacts{
NSString *sql = @"SELECT * FROM members";
sqlite3_stmt *statement;
if (sqlite3_prepare_v2(db, [sql UTF8String], -1, &statement, nil) == SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
char *name = (char *)sqlite3_column_text(statement, 0);
NSString *nameStr = [[NSString alloc] initWithUTF8String:name];
char *email = (char *)sqlite3_column_text(statement, 1);
NSString *emailStr = [[NSString alloc] initWithUTF8String:email];
char *birthday = (char *)sqlite3_column_text(statement, 2);
NSString *birthdayStr = [[NSString alloc] initWithUTF8String:birthday];
NSString *info = [[NSString alloc] initWithFormat:@"%@ - %@ - %@",
nameStr, emailStr, birthdayStr];
NSLog(info);
[nameStr release];
[emailStr release];
[birthdayStr release];
[info release];
}
sqlite3_finalize(statement);
}
}