标签: sqlite-net

不创建保存数据库

我使用monodroid并通过sqlite-net库使用数据库.在一个应用程序事务中所有数据正确地从数据库放入和获取,但是当我下次部署应用程序时,我的数据库文件不存在.

我正在使用类似这些的方法

但我m testing same code in MonoTouch and WP7 application and it没事.

所以问题是:为什么数据库总是丢失?

android xamarin.android sqlite-net

1
推荐指数
1
解决办法
173
查看次数

Windows应用商店应用将SQLite文件放在LocalState文件夹中

我正在使用sql-net和mvvmcross构建一个Windows 8应用程序,以便对sqlite数据库进行数据访问.这适用于任何Win-8或Win-Phone应用程序.

我需要在app start上安装一个现有的sqlite文件.

使用连接时,您可以使用此语法

 public FlashCardManager(ISQLiteConnectionFactory factory, IMvxMessenger messenger)
    {
        _messenger = messenger;
        _connection = factory.Create("Dictionary.sqlite");
        _connection.CreateTable<FlashCardSet>();
        _connection.CreateTable<FlashCard>();
    }

    public void CreateCard(FlashCard flashCard)
    {
        _connection.Insert(flashCard);

    }
Run Code Online (Sandbox Code Playgroud)

该连接在以下位置创建文件:C:\ Users\USER\AppData\Local\Packages\793fd702-171e-474f-ab3b-d9067c58709b_ka9b83fa3fse2\LocalState

我的应用程序使用我创建的现有sqlite数据库文件.安装应用程序时,我需要将它放在此文件夹中.我该怎么做呢?

谢谢,JH

sqlite windows-phone mvvmcross windows-store-apps sqlite-net

1
推荐指数
1
解决办法
1213
查看次数

仅当Windows App 8.1中存在数据库时,Sqlite-net才会启动SQLiteConnection

我想在我的Windows应用商店应用程序中读取一个sqlite数据库,如果它存在...

通常从数据库中读取表,我设置它所在的路径,然后我调用SQLiteConnection函数...

问题是,当我调用这样一个简单的函数时,为什么数据库不存在

public static async Task<ObservableCollection<Objects>> GetAll()
    {
        List<Objects> list;
        using (var db = new SQLiteConnection(dbPath))
        {
            // Activate Tracing
            db.Trace = true;

            list = (from p in db.Table<Objects>()
                            select p).ToList();

        }
Run Code Online (Sandbox Code Playgroud)

是否创建了数据库?

new SQLiteConnection(dbPath)调用时会创建空数据库.是否可以在不创建连接的情况下打开连接?

c# database winrt-xaml sqlite-net

1
推荐指数
1
解决办法
4266
查看次数

GetAllWithChildren()性能问题

我在以下代码中使用SQLite-Net Extensions 从Sqlite数据库中检索1000行及其子关系:

var list =
SQLiteNetExtensions.Extensions.ReadOperations.GetAllWithChildren<DataModel>(connection);
Run Code Online (Sandbox Code Playgroud)

问题是表现很尴尬.因为GetAllWithChildren()返回List而不是Enumerable.是否存在使用Sqlite.net扩展将记录加载到Enumerable的任何方法?

我现在使用Sqlite.net中的Table()方法,将获取的行加载到Enumerable中但我不想使用它,因为它不理解关系并且根本不加载子实体.

c# sqlite xamarin sqlite-net sqlite-net-extensions

1
推荐指数
1
解决办法
1912
查看次数

SQLite.Net-PCL 没有这样的功能:ToString

我有包含Name(string) 和Number(int) 列的员工表。

我可以搜索任何员工。所以,

var query = cnn.Table<Employees>()
               .Where(x => x.Name.Contains(search) || 
                           x.Number.ToString().Contains(search));
Run Code Online (Sandbox Code Playgroud)

SQLite.Net.Platform.WinRT.dll 中发生了“SQLite.Net.SQLiteException”类型的异常,但未在用户代码中处理

附加信息:没有这样的功能:tostring

如何将 Number 列转换为字符串?

谢谢你。

c# sqlite-net sqlite.net uwp

1
推荐指数
1
解决办法
1983
查看次数

SQLiteAsyncConnection.InsertAsync(obj) 未返回正确的键

我们在 Xamarin.Forms 应用程序中使用 SQLite 数据库来将业务对象保留在模型层中。

  • 使用的 nuget 包:
    • SQLiteNet扩展,
    • SQLiteNetExtensions.Async [2.1.0]
    • sqlite-net-pcl [1.5.231])

业务对象看起来像

[SQLite.Table(nameof(MyBo))]
class MyBo
{
    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }
    public string Name { get; set; }

    ... etc
}
Run Code Online (Sandbox Code Playgroud)

呼唤

int id1 = conn.InsertAsync(new MyBo(){ ID = 0, Name ="Foo" });
int id2 = conn.InsertAsync(new MyBo(){ ID = 0, Name ="Bar" });
Run Code Online (Sandbox Code Playgroud)

将导致id1 = 1id2 = 1

conn.Table<T>().ToListAsync()返回具有正确 ID(1 和 2)的对象。

我错过了什么,我期望 InsertAsync 调用返回正确的值,但它总是返回 1!?

sqlite-net xamarin.forms

1
推荐指数
1
解决办法
2636
查看次数