現在如果使用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);
}
}