在 xamarin 表单 pcl 上执行查询时没有这样的表 sqlite

2023-11-30

我在读取 SQLite 数据库上的表时遇到问题。

我的 OBJ_User 类:

    namespace Fimap.Models
{
    public class OBJ_User
    {
        public int DLR_Id { get; set; }
        public string DLR_Username { get; set; }
        public string DLR_Password_Hash { get; set; }
        public object DLR_Nome { get; set; }
        public string DLR_Cognome { get; set; }
        public int DLR_Tipo { get; set; }
        public string DLR_Azienda { get; set; }
        public object DLR_Telefono { get; set; }
        public object DLR_Email { get; set; }
        public int DLR_Abilitato { get; set; }
        public object DLR_Time_Zone { get; set; }
        public object DLR_Country { get; set; }
        public string DLR_Culture { get; set; }
        public object DLR_Email1 { get; set; }
        public object DLR_MCC_Modello_Alias { get; set; }
        public object DLR_Anagrafica { get; set; }
        public object DLR_Firma { get; set; }
        public bool IsFIMAP { get; set; }
        public bool IsSTANDARD { get; set; }
        public bool IsDealerOrFimap { get; set; } //true dealer - false user
        public object DLR_Tipo_Esteso { get; set; }
        public object DLR_Abilitato_Esteso { get; set; }
    }
}

我在 pcl 项目中的界面:

public interface IDatabaseConnection
    {
        SQLite.SQLiteConnection DbConnection();
    }

Android

[assembly: Xamarin.Forms.Dependency(typeof(DatabaseConnection_Android))]
namespace Fimap.Droid
{
    public class DatabaseConnection_Android : IDatabaseConnection
    {
        public SQLiteConnection DbConnection()
        {
            var dbName = "FimapDB.db3";
            var path = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), dbName);
            return new SQLiteConnection(path);
        }
    }
}

iOS

[assembly: Xamarin.Forms.Dependency(typeof(DatabaseConnection_iOS))]
namespace App.iOS
{
    public class DatabaseConnection_iOS : IDatabaseConnection
    {
        public SQLiteConnection DbConnection()
        {
            var dbName = "FimapDB.db3";
            string personalFolder = System.Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            string libraryFolder = Path.Combine(personalFolder);
            var path = Path.Combine(libraryFolder, dbName);
            return new SQLiteConnection(path);
        }
    }
}

pcl连接(数据库正确连接):

database = DependencyService.Get<IDatabaseConnection>().DbConnection();

enter image description here

query:

var test = database.Query<OBJ_User>("SELECT * FROM OBJ_User");

当我启动查询时出现此错误:

SQLite.SQLiteException:没有这样的表:OBJ_User

enter image description here

OBJ_User 在数据库中具有一条记录。 为什么连接不映射表? 数据库变量正确连接到数据库sqlite,我不明白,因为数据库没有从sqlite 文件获取映射。 解决方案 ?

如果您想了解其他信息,请在评论中写信给我,我会回答


SQLite 库不知道如何将类型对象的属性映射到 SQLite 列。 SQLite 库默认支持以下列类型:string、int、double、byte[]、DateTime。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 xamarin 表单 pcl 上执行查询时没有这样的表 sqlite 的相关文章

随机推荐