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

首頁(yè) > 系統(tǒng) > iOS > 正文

iOS連接mysql數(shù)據(jù)庫(kù)及基本操作

2019-11-09 14:11:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
首先設(shè)計(jì)一個(gè)帶 ip地址、端口號(hào)、用戶名、密碼 四個(gè)輸入框及連接、查詢等按鈕的界面的iOS程序,然后引入要連接MySQL數(shù)據(jù)庫(kù)需要的文件:include mysql庫(kù)文件(下載地址:http://download.csdn.net/source/3425857)和libmysqlclient.a文件(下載地址:http://download.csdn.net/source/3425860)。

然后添加一個(gè)實(shí)現(xiàn)連接mysql數(shù)據(jù)庫(kù)及對(duì)數(shù)據(jù)庫(kù)進(jìn)行相關(guān)操作的方法的類。其實(shí)現(xiàn)連接mysql數(shù)據(jù)庫(kù)及對(duì)數(shù)據(jù)庫(kù)進(jìn)行相關(guān)操作的方法的實(shí)現(xiàn)如下:

[objc] view plain copy//連接數(shù)據(jù)庫(kù)  [objc] view plain copy-(void)connectHost:(NSString *)host connectUser:(NSString *)user connectPassWord:(NSString *)password connectName:(NSString *)name  {            myconnect = mysql_init(nil);    //新增。設(shè)置編碼(解決中文亂碼問(wèn)題)     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//查詢數(shù)據(jù)庫(kù)中數(shù)據(jù),參數(shù)sql既為SQL查詢語(yǔ)句(@"select name from table1"),返回SQL語(yǔ)句查詢到的結(jié)果,我理解的是recordArr中存放的是每組數(shù)據(jù)(每個(gè)column)中查詢到的結(jié)果,而recordsArray中存放的是recordArr,即有幾個(gè)column就有幾個(gè)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++)          {              //最新修改,解決中文亂碼問(wèn)題             //中文簡(jiǎn)體編碼: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//斷開(kāi)數(shù)據(jù)庫(kù)連接  [objc] view plain copy- (void)disconnect  {      mysql_close(myconnect);      NSLog(@"Close From Mysql");  }  

[objc] view plain copy  [objc] view plain copy//修改數(shù)據(jù)庫(kù)中的數(shù)據(jù)(無(wú)返回值)。刪除、增加數(shù)據(jù)都可以調(diào)用此方法。  [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  {      //插入數(shù)據(jù)  [objc] view plain copy[mysqlManager update:@"insert into fdgg values(5,'hc',1,80,0)"];  [objc] view plain copy//查詢數(shù)據(jù)  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    //斷開(kāi)連接      [mysqlManager disconnect];  }  

注:如果是連本地?cái)?shù)據(jù)庫(kù)IP地址為:127.0.0.1或localhost      端口號(hào)默認(rèn)為:3306(但不全是,要視情況而定)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 两当县| 偏关县| 神农架林区| 鲜城| 枣强县| 金堂县| 民丰县| 抚州市| 云梦县| 孝昌县| 荆州市| 津市市| 景洪市| 林芝县| 丹棱县| 新昌县| 大城县| 曲水县| 丹东市| 会东县| 吴江市| 民权县| 甘谷县| 邢台县| 敦化市| 蓬安县| 万州区| 定边县| 周至县| 渝中区| 安宁市| 济阳县| 浦北县| 平潭县| 河津市| 舟山市| 睢宁县| 五河县| 乾安县| 辽阳市| 海淀区|