扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
你是想直接连接数据查询数据?? 如果是可以找看有第三方的库吧。 看了下Mysql的官网只有C++ 的连接库。 对了我不是搞OC的。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、雅安服务器托管、营销软件、网站建设、镇远网站维护、网站推广。
如何使用PLSQL连接服务器上的数据库,开发初学者都需要会这个问题。下面说一下步骤,帮助大家配置host并成功查询数据。
1、首先鼠标右键PLSQL,选择属性,打开PLSQL所在文件夹位置。
2、在文件夹中,找到instantclient文件夹。这里将该文件移出到PLSQL安装文件外,方便之后修改。
3、然后在instantclient下,找到tnsnames.ora,用编辑器打开。
4、在tnsnames.ora中,可以配置数据库连接。数据库名称、协议类型、host、port、sid。配置好之后,保存。
5、打开PLSQL,输入username、password,选择到配置的数据库,进行连接。点击“file”--“new”--“SQL Window”,打开窗口,输入查询命令,F8执行,连接成功了。
给你个例子供你参考
span style="font-size:14px;"#import "StudentDataBase.h"
#import "DB.h"
#import "StudentModel.h"
@implementation StudentDataBase
//查找所有数据
+(NSArray *)findAll{
sqlite3 * db = [DB DBOpen]; //调用DB open方法 获取数据库指针
sqlite3_stmt * stmt;//镜像 copy出来的镜像 不影响sqlite里的内容
int result = sqlite3_prepare_v2(db, "select * from student", -1, stmt, Nil);
//-1是不限制字符串的长度 stmt是往stmt里面赋值 Const char **pzTail是设置前面哪个是不用的
NSMutableArray * peopels = [NSMutableArray array]; //制作容器 要装数据
//判断结果 0进判断 result==0表示正确
if (SQLITE_OK == result) {
//判断是否有下一行
while (sqlite3_step(stmt) == SQLITE_ROW) {
//int iCol 是第几个
int stuId = sqlite3_column_int(stmt, 0); //取一行中的一个 int是值的类型
const unsigned charchar * stuName = sqlite3_column_text(stmt, 1); //取一行中的一个 text是值的类型
const unsigned charchar * stuSex = sqlite3_column_text(stmt, 2); //取一行中的一个 text是值的类型
float stuScore = sqlite3_column_double(stmt, 3); //取一行中的一个 double是值的类型
//转换
NSString * currentName = [NSString stringWithUTF8String:(const charchar *)stuName];
NSString * currentSex = [NSString stringWithUTF8String:(const charchar *)stuSex];
StudentModel * student = [StudentModel studentModelWithId:stuId name:currentName sex:currentSex score:stuScore];
//将model中内容 添加到 之前的容器 数组
[peopels addObject:student];
}
sqlite3_finalize(stmt);//关闭镜像
return peopels;//将这个装有数据的数组 返回
}else{
sqlite3_finalize(stmt);
return [NSArray array]; //如果没进入if 返回一个空数组
}
}
//查找单个数据
+(StudentModel *)findPeopleWith:(NSInteger )stuId{
sqlite3 * db = [DB DBOpen];
sqlite3_stmt * stmt;
int result = sqlite3_prepare_v2(db, "select stuName,stuId,stuSex,stuScore from student where stuId=?", -1, stmt, Nil);
sqlite3_bind_int(stmt, 1, stuId);// 第一个int是第几个问好? 第二个int 是绑定的内容 绑定问好
if (SQLITE_OK == result) {
if (sqlite3_step(stmt) == SQLITE_ROW) {
const unsigned charchar * stuName = sqlite3_column_text(stmt, 0);
int stuId = sqlite3_column_int(stmt, 1);
const unsigned charchar * stuSex = sqlite3_column_text(stmt, 2);
float stuScore = sqlite3_column_double(stmt, 3);
NSString * currentName = [NSString stringWithUTF8String:(const charchar *)stuName];
NSString * currentSex = [NSString stringWithUTF8String:(const charchar *)stuSex];
StudentModel * student = [StudentModel studentModelWithId:stuId name:currentName sex:currentSex score:stuScore];
sqlite3_finalize(stmt);
NSLog(@"000");
return student;
}else{
NSLog(@"11111");
return nil;
}
}else{
NSLog(@"222222");
sqlite3_finalize(stmt);
return nil;
}
}
//插入数据
+(void)insertIntoModel:(StudentModel *)model{
sqlite3 * db = [DB DBOpen];
sqlite3_stmt * stmt;
int result = sqlite3_prepare_v2(db, "insert into student values(?,?,?,?)", -1, stmt, Nil);
sqlite3_bind_int(stmt, 1, model.stuId);
sqlite3_bind_text(stmt, 2, [model.stuName UTF8String], -1, Nil);
sqlite3_bind_text(stmt, 3, [model.stuSex UTF8String], -1, nil);
sqlite3_bind_double(stmt, 4, model.stuScore);
if (SQLITE_OK == result) {
if (sqlite3_step(stmt) == SQLITE_DONE) {
NSLog(@"添加成功");
sqlite3_finalize(stmt);
return;
}else{
NSLog(@"添加失败");
sqlite3_finalize(stmt);
return;
}
}else{
NSLog(@"111");
sqlite3_finalize(stmt);
return;
}
}
//更新数据
+(void)updateStuName:(NSString *)name stuSex:(NSString *)sex stuScore:(CGFloat)score stuId:(NSInteger)stuid{
sqlite3 * db = [DB DBOpen];
sqlite3_stmt * stmt;
int result = sqlite3_prepare_v2(db, "update student set stuName=?,stuSex=?,stuScore=? where stuId = ?", -1, stmt, Nil);
sqlite3_bind_int(stmt, 4, stuid);
sqlite3_bind_text(stmt, 1, [name UTF8String], -1, Nil);
sqlite3_bind_text(stmt, 2, [sex UTF8String], -1, nil);
sqlite3_bind_double(stmt, 3, score);
if (SQLITE_OK == result) {
if (sqlite3_step(stmt) == SQLITE_DONE) {
NSLog(@"更新成功");
sqlite3_finalize(stmt);
return;
}else{
NSLog(@"更新失败");
sqlite3_finalize(stmt);
}
}else{
NSLog(@"shibai");
sqlite3_finalize(stmt);
}
}
//删除数据
+(void)deleteModelStuId:(NSInteger)stuid{
sqlite3 * db = [DB DBOpen];
sqlite3_stmt * stmt;
int relust = sqlite3_prepare_v2(db, "delete from student where stuid= ?", -1, stmt, nil);
sqlite3_bind_int(stmt, 1, stuid);
if (SQLITE_OK == relust) {
//step 截段
if (sqlite3_step(stmt) == SQLITE_DONE) {
NSLog(@"删除成功");
sqlite3_finalize(stmt);
return;
}else{
NSLog(@"删除失败");
sqlite3_finalize(stmt);
return;
}
}else{
NSLog(@"删除失败11");
sqlite3_finalize(stmt);
return;
}
}
@end
/span
mysql数据库软件的使用及连接方法:
一、安装MySQL。
1、准备好安装包,双击Setup.exe文件,开始mysql的安装。
2、按照提示一步一步往下执行直到安装完成。
3、安装完成之后配置MySQL服务,用以创建数据库及登录数据库账户密码:
选择Standard Configuration 标准配置,然后一路点next,直到配置好用户名密码。
更多详细信息及可能出现故障及解决方法请参考:
二、连接数据库:
连接数据库有很多种方式,包括:
1、使用MySQL提供的dos登录方式,登录方法:在dos输入mysql -hlocalhost -uuser -ppwd
其中-h表示主机,-u表示用户,-p表示密码,登录成功会显示mysql,如图:
2、使用数据库连接工具进行连接,比如:navicat、Heidi Sql等工具都可以用来连接MySQL数据库。
3、在程序中使用jdbc方式连接。详细程序实现可以参考:
三、MySQL的使用:
MySQL用于系统存储数据,其操作方法就是使用sql(structure query language 结构化查询语言)来实现对数据库的操作。
sql语句的具体写法请参考百度文库资料:进行学习。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流