为什么我用sqlite3_open创建数据库失败?
以下是我的代码:运行的结果时出现错误提示:创建/打开数据库失败-(void)viewDidLoad{[superviewDidLoad];NSString*docsDir...
以下是我的代码:运行的结果时出现错误提示:创建/打开数据库失败
-(void) viewDidLoad
{
[super viewDidLoad];
NSString *docsDir;
NSArray *dirPaths;
//得到文件路径
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
//建立数据库路径
databasePath = [[NSString alloc] initWithString:[docsDir stringByAppendingPathComponent:@"Persons.db"]];
NSFileManager *filemgr = [NSFileManager defaultManager];
const char *dbpath = [databasePath UTF8String];
if ([filemgr fileExistsAtPath:databasePath] == NO) {
//打开数据库
if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK) {
char *errMsg;
//创建一个表格
const char *sql_stmt = "CREATE TABLE IF NOT EXISTS CONTACTS(ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, PASSWORD TEXT)";
if (sqlite3_exec(contactDB, sql_stmt,NULL,NULL,&errMsg) != SQLITE_OK){
_status.text = @"创建表失败\n";
}
}
else{
_status.text = @"创建/打开数据库失败";
}
}
} 展开
-(void) viewDidLoad
{
[super viewDidLoad];
NSString *docsDir;
NSArray *dirPaths;
//得到文件路径
dirPaths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES);
docsDir = [dirPaths objectAtIndex:0];
//建立数据库路径
databasePath = [[NSString alloc] initWithString:[docsDir stringByAppendingPathComponent:@"Persons.db"]];
NSFileManager *filemgr = [NSFileManager defaultManager];
const char *dbpath = [databasePath UTF8String];
if ([filemgr fileExistsAtPath:databasePath] == NO) {
//打开数据库
if (sqlite3_open(dbpath, &contactDB) == SQLITE_OK) {
char *errMsg;
//创建一个表格
const char *sql_stmt = "CREATE TABLE IF NOT EXISTS CONTACTS(ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT, PASSWORD TEXT)";
if (sqlite3_exec(contactDB, sql_stmt,NULL,NULL,&errMsg) != SQLITE_OK){
_status.text = @"创建表失败\n";
}
}
else{
_status.text = @"创建/打开数据库失败";
}
}
} 展开
1个回答
展开全部
创建数据库
选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。
在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点
右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。
执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。
在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。
切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到【文件组】页,在这里可以添加或删除文件组。
完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。
选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。
在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点
右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。
执行上述操作后,会弹出【新建数据库】对话框。在对话框、左侧有3个选项,分别是【常规】、【选项】和【文件组】。完成这三个选项中的设置会后,就完成了数据库的创建工作,
在【数据库名称】文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。
在【所有者】文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用【使用全文索引】复选框。
在【数据库文件】列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的【添加】、【删除】按钮添加或删除数据库文件。
切换到【选项页】、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。
切换到【文件组】页,在这里可以添加或删除文件组。
完成以上操作后,单击【确定】按钮关闭【新建数据库】对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再【对象资源管理器】窗口看到。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询