本文目錄一覽:
請問iOS怎麼連接網上的MySQL數據庫
可以使用MySQL推出的MySQLConnector/Net組件,該組件是MySQL為ADO.NET訪問MySQL數據庫設計的.NET專用訪問組件,完成該組件後,需要在項目中引用這個組件,之後在程序中引用命名空間MySql.Data.MySqlClient,即可開始進行連接MySQL數據庫的操作了,示例如下:
protected voidMySqlCon()
{
//數據庫連接字符串跟連接SQLSERVER沒有區別
string constr = “server=localhost;UserId=root;password=root;Database=test”;
//下面使用MySql Connector/net提供的專用對象
MySqlConnection mycon = new MySqlConnection(constr);
mycon.Open();
MySqlCommandmycmd = new MySqlCommand(“select * from users”, mycon);
MySqlDataReader myreader = mycmd.ExecuteReader();
while (myreader.Read())
{
if (myreader.HasRows)
{
MessageBox.Show(myreader.GetString(“email”) );
}
}
myreader.Close();
mycon.Close();
sqlite怎麼在ios 中創建數據庫
iOS sqlite數據庫操作。步驟是:
先加入sqlite開發庫libsqlite3.dylib,
新建或打開數據庫,
創建數據表,
插入數據,
查詢數據並打印
NSString *sqlQuery = @”SELECT * FROM PERSONINFO”;
sqlite3_stmt * statement;
if (sqlite3_prepare_v2(db, [sqlQuery UTF8String], -1, statement, nil) == SQLITE_OK) {
while (sqlite3_step(statement) == SQLITE_ROW) {
char *name = (char*)sqlite3_column_text(statement, 1);
NSString *nsNameStr = [[NSString alloc]initWithUTF8String:name];
int age = sqlite3_column_int(statement, 2);
char *address = (char*)sqlite3_column_text(statement, 3);
NSString *nsAddressStr = [[NSString alloc]initWithUTF8String:address];
NSLog(@”name:%@ age:%d address:%@”,nsNameStr,age, nsAddressStr);
}
}
sqlite3_close(db);
ios中使用數據庫應注意什麼
iPhone中數據庫使用方法是本文要介紹的內容,直接進入話題介紹,iPhone 中使用名為 SQLite 的數據庫管理系統。它是一款輕型的數據庫,是遵守ACID的關聯式數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,
在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、PHP、Java 等,還有 ODBC 接口,同樣比起 Mysql、PostgreSQL 這兩款開源世界著名的數據庫管理系統來講,它的處理速度比他們都快。
其使用步驟大致分為以下幾步:
1. 創建DB文件和表格
2. 添加必須的庫文件(FMDB for iPhone, libsqlite3.0.dylib)
3. 通過 FMDB 的方法使用 SQLite
創建DB文件和表格
$ sqlite3 sample.db sqlite CREATE TABLE TEST( … id INTEGER PRIMARY KEY, … name VARCHAR(255) … );
簡單地使用上面的語句生成數據庫文件後,用一個圖形化SQLite管理工具,比如 Lita 來管理還是很方便的。
然後將文件(sample.db)添加到工程中。
添加必須的庫文件(FMDB for iPhone, libsqlite3.0.dylib)
首先添加 Apple 提供的 sqlite 操作用程序庫 ibsqlite3.0.dylib 到工程中。位置如下
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS${VER}.sdk/usr/lib/libsqlite3.0.dylib
這樣一來就可以訪問數據庫了,但是為了更加方便的操作數據庫,這裡使用 FMDB for iPhone。
svn co fmdb
如上下載該庫,並將以下文件添加到工程文件中:
FMDatabase.h FMDatabase.m FMDatabaseAdditions.h FMDatabaseAdditions.m FMResultSet.h FMResultSet.m
通過 FMDB 的方法使用 SQLite
使用 SQL 操作數據庫的代碼在程序庫的 fmdb.m 文件中大部分都列出了、只是連接數據庫文件的時候需要注意 — 執行的時候,參照的數據庫路徑位於 Document 目錄下,之前把剛才的 sample.db 文件拷貝過去就好了。
位置如下
/Users/xxxx/Library/Application Support/iPhone Simulator/User/Applications/xxxx/Documents/sample.db
BOOL success; NSError *error; NSFileManager *fm = [NSFileManager defaultManager]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *writableDBPath = [documentsDirectory stringByAppendingPathComponent:@”sample.db”]; success = [fm fileExistsAtPath:writableDBPath]; if(!success){ NSString *defaultDBPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@”sample.db”]; success = [fm copyItemAtPath:defaultDBPath toPath:writableDBPath error:error]; if(!success){ NSLog([error localizedDescription]); } } // 連接DB FMDatabase* db = [FMDatabase databaseWithPath:writableDBPath]; if ([db open]) { [db setShouldCacheStatements:YES]; // INSERT [db beginTransaction]; int i = 0; while (i++ 20) { [db executeUpdate:@”INSERT INTO TEST (name) values (?)” , [NSString stringWithFormat:@”number %d”, i]]; if ([db hadError]) { NSLog(@”Err %d: %@”, [db lastErrorCode], [db lastErrorMessage]); } } [db commit]; // SELECT FMResultSet *rs = [db executeQuery:@”SELECT * FROM TEST”]; while ([rs next]) { NSLog(@”%d %@”, [rs intForColumn:@”id”], [rs stringForColumn:@”name”]); } [rs close]; [db close]; }else{ NSLog(@”Could not open db.”); }
原創文章,作者:EQBE,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132916.html