为什么我用sqlite3_open创建数据库失败

为什么我用sqlite3_open创建数据库失败,第1张

创建数据

选择开始菜单中→程序→Management SQL Server 2008→SQL Server Management Studio命令,打开SQL Server Management Studio窗口,并使用Windows或 SQL Server身份验证建立连接。

在对象资源管理器窗口中展开服务器,然后选择数据库节点

右键单击数据库节点,从d出来的快捷菜单中选择新建数据库命令。

执行上述 *** 作后,会d出新建数据库对话框。在对话框、左侧有3个选项,分别是常规、选项和文件组。完成这三个选项中的设置会后,就完成了数据库的创建工作,

在数据库名称文本框中输入要新建数据库的名称。例如,这里以“新建的数据库”。

在所有者文本框中输入新建数据库的所有者,如sa。根据数据库的使用情况,选择启用或者禁用使用全文索引复选框。

在数据库文件列表中包括两行,一行是数据库文件,而另一行是日记文件。通过单击下面的添加、删除按钮添加或删除数据库文件。

切换到选项页、在这里可以设置数据库的排序规则、恢复模式、兼容级别和其他属性。

切换到文件组页,在这里可以添加或删除文件组。

完成以上 *** 作后,单击确定按钮关闭新建数据库对话框。至此“新建的数据”数据库创建成功。新建的数据库可以再对象资源管理器窗口看到。

下载systemdatasqlite安装包,在systemdatasqliteorg上下载对应NET Framework xx版本的安装包。安装systemdatasqlite,按照提示一步一步执行即可。

下载SQLiteStudio,直接运行exe文件。创建数据库,以及 *** 作数据表等等。

环境搭建好后就开始创建C#工程了,这里举例创建了一个Winform工程。在工程里引入systemdatasqlitedll。注意:引用窗口打开后选择浏览,在安装目录下找到dll。默认安装路径是 C:\Program Files\SystemDataSQLite\2010\bin。如果不是使用VS2010,路径会不同

除了引用systemdatasqlite以外,还需要把SQLiteInteropdll复制到程序根目录。

5

至此C# *** 作SQLite的开发环境就搭建好了。

6

异常解决:在实际使用中遇到了Unable to open the database file异常。查找了很久原因,排除了目录读写权限,连接字符串中增加Pooling=True;Journal Mode=Off;均为解决问题。后来发现我使用的是属性get来生产连接字符串,改为静态成员变量就没有问题了。这个问题还和 *** 作系统有关,在win7上运行没有问题,在XP和2003上运行才会出现这个问题。

1、创建数据库表,并添加字段:

String sql = “CREATE TABLE person(personid integer primary key autoincrement, name varchar(20))”; // varchar(20) 没有意义,是为了符合标准语法。

2、往已存在数据库表中添加字段:

[java] view plain copy

String sql = “ALTER TABLE person add age integer”;

代码1: SQLiteHelperjava

[java] view plain copy

public class SQLiteHelper extends SQLiteOpenHelper{

public SQLiteHelper(Context context) {

super(context, "zhidb", null, 2); // 第2个参数 数据库的名字,第3个参数用默认的CusorFactory,第3个参数数据库版本号

}

@Override

public void onCreate(SQLiteDatabase db) {

String sql = "CREATE TABLE person(personid integer primary key autoincrement, name varchar(20))";

dbexecSQL(sql);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

String sql = "ALTER TABLE person add age integer";

dbexecSQL(sql);

}

}

代码2:DBTestjava <不懂Android studio单元测试流程点这里>

[java] view plain copy

public class DBTest extends AndroidTestCase{

public void test(){

SQLiteHelper sqLiteOpenHelper = new SQLiteHelper(thisgetContext());

sqLiteOpenHelpergetWritableDatabase(); // 创建或更新数据库,可以点该方法看具体实现

}

}

直接下载demo

报错内容呢

你代码哪里来的,自己写的?网上下的,

1:会不会是包没有引用进来,

2:构造函数出错的部分,你写些异常处理或调试代码试下,打印出来看看,和预想的会有什么不一样。这里最快的方法是重写一个简单构造,直接进出正常数据,试下这所有代码完整性先,再回头看思路。

《SQLite权威指南》

全书首先从 SQLite

最初起源、特性、设计理念、实际应用讲解开始,逐步深入、全面地介绍了在各个平台如何使用SQLite。接着,介绍SQLite 的一般SQL

和高级功能的SQL,采取举例说明,使得本书内容生动有趣。然后,全面介绍了各种语言如何与SQLite 进行编程交互,重点介绍SQLite

原生语言C 语言中的API,使得使用者可以不管扩展SQLite 的功能。本书还介绍了目前火热的IOS 和Android

开发中如何使用SQLite,并给出实际例子。最后,介绍了SQLite

内部架构设计,使得读者可以深入理解SQLite,高级开发者可以进一步参与SQLite 开发或者开发自己的SQLite。

SqliteStudio是一款 Sqlite数据库可视化工具,是使用Sqlite数据库开发应用的必备软件,软件无需安装,下载后解压即可使用,很小巧但很了用,绿色中文版本。

创建一个SQLiteDatabase对象

database=sQlitegetWritableDatabase();//sQlite是目标数据库的实例,这里得到一个数据库管理对象。

databaseexecSQL("insert into person (no,name,hometown,grade)values(,,,)",new Object[]{no,name,hometown,grade});//使用这个对象执行sql语句对数据库进行 *** 作

下面演示一个查询 *** 作:(这里的Person为一个定义好的java bean对象,对应数据库里每一条记录的实体)

Cursor cursor=databaserawQuery("select from person where name=", new String[]{name});

while (cursormoveToNext()){

   Person person=new Person();

   personsetNo(cursorgetString(cursorgetColumnIndex("no")));

   personsetName(cursorgetString(cursorgetColumnIndex("name")));

   personsetHometown(cursorgetString(cursorgetColumnIndex("hometown")));

   //通过名字获得列索引

   personsetGrade(cursorgetString(cursorgetColumnIndex("grade")));

}

对学习计算机的人来时,sqlite数据库,大家可能比较熟悉,今天给大家介绍一下使用SQLiteStudio来管理sqlite

>

打开SQLite Studio,点击“添加数据库”按钮,:

图解SQLite Studio的使用

数据类型选择“SystemDataSQLite”,点击绿色添加按钮,将文件保存至D:\Testdb,并在Password一栏内输入密码:2017(如不使用密码,此处留空即可),然后点击“OK”按钮即可创建一个加密版本的SQLite DB文件,:

图解SQLite Studio的使用

双击“Test”数据库,将会显示其下的子节点,选择“Tables”,并在工具栏点击“新建表”按钮,:

图解SQLite Studio的使用

在Table name文本框内输入表名Info,并点击“Add columns(Ins)”图标以便添加列,:

图解SQLite Studio的使用

添加第一个字段,字段名为ID,数据类型为Text,将主键前的复选框打钩,并点击“OK”按钮,:

图解SQLite Studio的使用

重复第4个步骤,点击“Add columns(Ins)”图标以便添加另外一个列,字段名为Name,数据类型为Text,将非空前的复选框打钩,并点击“OK”按钮,:

图解SQLite Studio的使用

点击“Commit structure changes”图标以便保存该表及字段,:

图解SQLite Studio的使用

在d出的对话框点击“OK”按钮,即可完成表单的创建工作,:

图解SQLite Studio的使用

选择“数据”选项卡,点击“插入行(Ins)”图标按钮,如下所示:

图解SQLite Studio的使用

在行数据编辑栏里输入两条数据,第一条数据ID为2017、Name为LSB,第二条数据ID为2011、Name为CNC,:

图解SQLite Studio的使用

添加数据完毕之后,点击“提交(Ctrl+Return)”图标按钮提交刚才输入的两条数据,:

图解SQLite Studio的使用

12

关闭SQLite Studio数据库管理软件。

以上就是关于为什么我用sqlite3_open创建数据库失败全部的内容,包括:为什么我用sqlite3_open创建数据库失败、c#ef能直接 *** 作sqlite数据库的生成吗、android studio怎么知道sqlite创建等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9452461.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存