国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

iOS連接mysql數據庫及基本操作

2019-11-09 15:10:15
字體:
來源:轉載
供稿:網友
首先設計一個帶 ip地址、端口號、用戶名、密碼 四個輸入框及連接、查詢等按鈕的界面的iOS程序,然后引入要連接MySQL數據庫需要的文件:include mysql庫文件(下載地址:http://download.csdn.net/source/3425857)和libmysqlclient.a文件(下載地址:http://download.csdn.net/source/3425860)。

然后添加一個實現連接mysql數據庫及對數據庫進行相關操作的方法的類。其實現連接mysql數據庫及對數據庫進行相關操作的方法的實現如下:

[objc] view plain copy//連接數據庫  [objc] view plain copy-(void)connectHost:(NSString *)host connectUser:(NSString *)user connectPassWord:(NSString *)password connectName:(NSString *)name  {            myconnect = mysql_init(nil);    //新增。設置編碼(解決中文亂碼問題)     mysql_options(myconnect, MYSQL_SET_CHARSET_NAME, "gb2312");      myconnect = mysql_real_connect(myconnect,[host UTF8String],[user UTF8String],[password UTF8String],[name UTF8String],MYSQL_PORT,NULL,0);            if(!myconnect)      {          PRintf("error code=%i",mysql_errno(myconnect));          return;      }            NSLog(@"connected to Mysql");  }  [objc] view plain copy  [objc] view plain copy//查詢數據庫中數據,參數sql既為SQL查詢語句(@"select name from table1"),返回SQL語句查詢到的結果,我理解的是recordArr中存放的是每組數據(每個column)中查詢到的結果,而recordsArray中存放的是recordArr,即有幾個column就有幾個recorder。  -(NSMutableArray*)query:(NSString *)sql  {      if(!myconnect)      {          NSLog(@"Please connect first");          return nil;      }      NSMutableArray *recordsArray = [[[NSMutableArray alloc] init] autorelease];            mysql_query(myconnect, [sql UTF8String]);      MYSQL_RES* result = mysql_store_result(myconnect);      int num_rows = mysql_num_rows(result);      int num_fields = mysql_num_fields(result);            for(int i=0;i<num_rows;i++)      {          MYSQL_ROW row = mysql_fetch_row(result);          NSMutableArray *recordArr = [[NSMutableArray alloc] init];                    for(int j=0;j<num_fields;j++)          {              //最新修改,解決中文亂碼問題             //中文簡體編碼:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSChineseSimplif)              //NSString* value= [NSString stringWithUTF8String:row[j]];              NSString* value= [NSString stringWithCString:row[j] encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingDOSChineseSimplif)];              [recordArr addObject:value];          }                    [recordsArray addObject:recordArr];          [recordArr release];      }      return recordsArray;  }  

[objc] view plain copy//斷開數據庫連接  [objc] view plain copy- (void)disconnect  {      mysql_close(myconnect);      NSLog(@"Close From Mysql");  }  

[objc] view plain copy  [objc] view plain copy//修改數據庫中的數據(無返回值)。刪除、增加數據都可以調用此方法。  [objc] view plain copy-(void)update:(NSString *)sql  {      if(myconnect)      {          mysql_query(myconnect, [sql UTF8String]);      }      else      {          NSLog(@"Please connect to DB first");          return;      }  }  

[objc] view plain copy//連接按鈕處理方法  [objc] view plain copy-(void)btnConnectTapped:(id)sender  {      NSLog(@"%@",ipText.text);      NSLog(@"%@",duankouTextField.text);      NSLog(@"%@",nameTextField.text);      NSLog(@"%@",passwordTextField.text);      mysqlManager = [[MysqlManager alloc]init];      [mysqlManager connectHost:[NSString stringWithFormat:@"%@",ipText.text] connectUser:nameTextField.text connectPassword:passwordTextField.text connectName:@"wgjchm"];  }  [objc] view plain copy  [objc] view plain copy//查詢按鈕處理方法  [objc] view plain copy-(IBAction)queryButtonTapped:(id)sender  {      //插入數據  [objc] view plain copy[mysqlManager update:@"insert into fdgg values(5,'hc',1,80,0)"];  [objc] view plain copy//查詢數據  NSMutableArray *res = [mysqlManager query:@"select name from fdgg"];    NSLog(@"%d",res.count);  for(int i = 0; i < [res count]; ++i)  {      NSMutableArray *record = [res objectAtIndex:i];      for(int j = 0; j < [record count]; ++j)      {          //value既為查詢到的name值  [objc] view plain copy    NSString *value = [record objectAtIndex:j];      NSLog(@"value=%@",value);  }  [objc] view plain copy    //斷開連接      [mysqlManager disconnect];  }  

注:如果是連本地數據庫IP地址為:127.0.0.1或localhost      端口號默認為:3306(但不全是,要視情況而定)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 赤壁市| 陕西省| 探索| 股票| 莒南县| 收藏| 垫江县| 个旧市| 莱芜市| 栖霞市| 滨海县| 永新县| 兰考县| 建阳市| 常山县| 呼玛县| 田东县| 耒阳市| 会宁县| 张家川| 宾阳县| 松滋市| 冀州市| 莱州市| 南华县| 健康| 定日县| 长垣县| 长丰县| 白城市| 郎溪县| 正定县| 瓮安县| 泸溪县| 克山县| 玉环县| 凭祥市| 崇信县| 中宁县| 山阴县| 惠安县|