xamarin SQLite路径
xamarin使用SQLite时对应的访问路径各个平台不一样,需要单独引用。在使用前添加SQLite引用包,在解决方案上右击选择解决方案的Nuget管理选项,在浏览中输入sqlite-net-pcl,选择sqlite-net-pcl这个安装好就可以了,请认准安装包,不要装错了,有很多类似的包,但是不是同一个人写的。
下面各平台罗列代码:
Windows8.1:
public SQLiteConnection GetConnection(string dbName) {
var sqliteFilename = string.Format("{0}.db3", dbName);
string documentsPath = global::Windows.Storage.ApplicationData.Current.LocalFolder.Path; var path = Path.Combine(documentsPath, sqliteFilename);
return new SQLite.SQLiteConnection(path);
}
在windows Phone下注意要添加一个引用:引用>>添加引用>>windows phones8.1>>扩展>>Microsoft Visual C++Runting Time Packge for windows Phone
UWP:
public SQLiteConnection GetConnection(string dbName) {
var sqliteFilename = string.Format("{0}.db3", dbName);
string documentsPath = global::Windows.Storage.ApplicationData.Current.LocalFolder.Path; var path = Path.Combine(documentsPath, sqliteFilename);
return new SQLite.SQLiteConnection(path);
}
Android:
public SQLite.SQLiteConnection GetConnection(string dbName)
{
var sqliteFilename = string.Format("{0}.db3", dbName);
string documentsPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);
var path = Path.Combine(documentsPath, sqliteFilename);
return new SQLite.SQLiteConnection(path);
}
IOS:
public SQLite.SQLiteConnection GetConnection(string dbName)
{
var sqliteFilename = string.Format("{0}.db3", dbName);
string documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal); // Documents folder
string libraryPath = Path.Combine(documentsPath, "..", "Library"); // Library folder
var path = Path.Combine(libraryPath, sqliteFilename);
return new SQLite.SQLiteConnection(path);
}
在使用的时候也要注意下,下面罗列一下。
案例一,在我们使用new SQLiteConnection().Insert(new model)时注意,这里的Insert方法虽然可以输入LIst<T>类型,但是掉用的时候会报错,如uwp上报Parameter count mismatch.等,无法插入数据,记得这个方法只能插入一条数据,不能批量操作,楼主在这里栽了跟头。
希望以上东西对于你写xamarin有帮助。欢迎交流。
xamarin SQLite路径的更多相关文章
- Xamarin SQLite教程Xamarin.iOS项目添加引用
Xamarin SQLite教程Xamarin.iOS项目添加引用 使用直接方式访问SQLite数据库,需要将System.Data和Mono.Data.SQlite库导入到创建的项目中.下面将分别讲 ...
- Xamarin SQLite教程数据库访问与生成
Xamarin SQLite教程数据库访问与生成 在本教程中,我们将讲解如何开发SQLite相关的App.在编写程序前,首先需要做一些准备工作,如了解Xamarin数据库访问方式,添加引用,构建使用库 ...
- QT里使用sqlite的问题,好多坑
1. 我使用sqlite,开发机上好好的,测试机上却不行.后来发现是缺少驱动(Driver not loaded Driver not loaded),代码检查了又检查,发现应该是缺少dll文件(系统 ...
- Sqlite数据库简介
在应用sqlite之前需要添加sqlite库,那么我们就会发现有3和3.0的区别,开始我也并不懂,后才知道: 实际上libsqlite3.dylib本身是个链接,它指向libsqlite3.0.dyl ...
- iOS 中SQLite数据库操作
在iOS中实现SQLite数据库的操作:1.导入框架(libsqlite3.0.tbd) 2.导入头文件<sqlite3.h> 3.实现数据的增删改查 实现简单 SQLite数据库操作 的 ...
- PHP PDO sqlite ,Unable to Open database file的解决方法
t.php在网站的根目录. fdy.db在inc文件夹下; t.php中sqlite路径写成相对路径 $db = new PDO('sqlite:inc/fdy.db'); 开始提示 Fatal er ...
- C# Android 开发中使用 Sqlite.NET ORM
开发环境:VS2015 Xamarin Sqlite.NET ORM 不就相当于 Entiry Framework For Xamarin 吗? 相当于用 C# 开发安卓程序访问 Sqlite 可以使 ...
- flask-sqlalchemy、pytest 的单元测试和事务自动回滚
flask-sqlalchemy.pytest 的单元测试和事务自动回滚 使用 flask-sqlalchemy 做数据库时,单元测试可以帮助发现一些可能意想不到的问题,像 delete-cascad ...
- Python之路-(Django进阶一)
Django请求生命周期: 首先,客户端发送请求到服务器的urls库,通过匹配url后面的关键字,去找指定app里面的的view. 然后,app通过判断,拿到数据库数据和html模板文件. 最后,将拿 ...
随机推荐
- jquery之右下角消息提示框
messager.js (function (jQuery) { var window; var obj = new Object(); obj.version = '@1.0'; obj.title ...
- (转)java中的进程与线程
(转自地址http://www.ibm.com/developerworks/cn/java/j-lo-processthread/) Java 进程的建立方法 在 JDK 中,与进程有直接关系的类为 ...
- g++编译选项
-g,生成供调试用的可执行文件,可以在gdb中运行.由于文件中包含了调试信息因此运行效率很低,且文件也大不少. -c:生成名为source_file.o的目标文件. -o, 指定输出文件名,可以配合以 ...
- linux进程间通信-共享内存
转载:http://www.cnblogs.com/fangshenghui/p/4039720.html 一 共享内存介绍 共享内存可以从字面上去理解,就把一片逻辑内存共享出来,让不同的进程去访问它 ...
- 记录参加“牛津计划.Docker在线黑客松”比赛的过程
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- 使用doxygen制作C代码文档
使用doxygen制作C代码文档 C 代码注释风格约定 行间注释 /*! * * 这里是注释 * */ 行内注释 <code here> /*! 这里是注释 */ doxygen 风格的宏 ...
- 基于Chrome内核(WebKit.net)定制开发DoNet浏览器
1. 源起 a) 定制.Net浏览器 本人是一名C#开发者,而作为C#开发者,做客户端应用中最头痛的一件事就是没有一个好的UI解决方案, WinFrom嘛,效率虽然还不错,但是做一些特殊 ...
- 模板短信接口调用java,pythoy版(二) 阿里大于
说明 功能:短信通知发送 + 短信发送记录查询,所有参数我没有改动,实测有效! 请自行参考 + 官方API! 短信模板示例:尊敬的${name},您的快递已在飞奔的路上,将在今天${time}送达您的 ...
- Java中将0x开头的十六进制字符串转换成十进制整数
1.Integer.toString(int i) 由于input(输入数据)是以0x开头的字符串,并不是整型.因而在用 String s = Integer.toString(input); 时用会 ...
- linux 第一题 计算题
#!/bin/bash echo "输入第一个数字" read A b= ]] do && [[ ${A} != *[!]* ]] then echo " ...