C# C声明我的SQLite表不存在,但它确实存在

C# C声明我的SQLite表不存在,但它确实存在,c#,database,sqlite,C#,Database,Sqlite,我正在尝试读取使用DB Browser for SQLite创建的表,但是出现了一个运行时错误,声称数据库没有该表。但确实如此!我创建了它,我可以在DB浏览器中看到它 代码如下: private void PopulateGridCustomers() { String conString = Properties.Resources.database; var con = new SqliteConnection(conString);

我正在尝试读取使用DB Browser for SQLite创建的表,但是出现了一个运行时错误,声称数据库没有该表。但确实如此!我创建了它,我可以在DB浏览器中看到它

代码如下:

    private void PopulateGridCustomers()
    {
        String conString = Properties.Resources.database;
        var con = new SqliteConnection(conString);
        try
        {
            con.Open();
            Console.WriteLine(con.State);
            SqliteCommand cmd = con.CreateCommand();
            cmd.CommandText = "SELECT * FROM Clientes";
            using (SqlCeDataAdapter dataAdapter = new SqlCeDataAdapter(cmd.CommandText, conString))
            {
                DataTable dt = new DataTable();
                dataAdapter.Fill(dt);
                gridCustomers.DataSource = dt;
            }
        }
一张显示该表的图片确实存在:

导致此问题的原因是什么?如何解决

谢谢

旁白:请让我放松一下,我不是专业的开发人员。我为自己编码

更新:以下是实际的错误消息:

System.Data.SqlServerCe.SqlCeException:'指定的表不存在。 [客户]' 更新2:

以下是数据库的路径:

Data Source=C:\Users\charl\OneDrive\Documentos\SBM\Database\SBMTeste.db;
正如您所看到的,它与在DB浏览器窗口中显示的完全相同。如果省略.db,则会出现我首先描述的错误。如果将文件扩展名放入字符串中,将引发以下错误:

System.Data.SqlServerCe.SqlCeException:'数据库文件可能已损坏。 运行修复实用程序以检查数据库文件。 [Database name=C:\Users\charl\OneDrive\Documentos\SBM\Database\SBMTeste.db]' 更新3:

下面是该表的CREATE语句:

创建表客户 id整数不为NULL唯一, nome文本不为空, 电传1文本, 电传2文本, 电子邮件文本, 恩德雷索文本, 拜罗文本, cidade文本, 数据和文本, 数据\u地籍簿文本默认当前\u时间戳, 主密钥ID自动递增, UNIQUEnome,data_nascimento SqlCe不是Sqlite

下面是我使用sqlite的代码摘录:

public Equity SearchEquityByEpic(string epic)
{
    string query = string.Format("SELECT * from " + Tables.ASSETS_TABLE + " WHERE epic='{0}'", epic);
    Log(query);
    var command = _connection.CreateCommand(query);
    var equities = command.ExecuteQuery<Equity>();
    if (equities.Count == 0)
    {
        return null;
    }
    Equity ret = equities.First();
    return ret;
}

问题是,我在尝试安装应用程序使用SQlite数据库所需的软件包时出错了。我用System.Data.SQLite安装了很多不必要的东西,但没有安装。这样,我的应用程序无法识别.db文件,因此在我的第三次更新中描述了损坏的文件消息。

编译器抛出一个错误,声称数据库没有该表。该描述有问题。我通常不希望在编译时检查表的存在性。您能剪切并粘贴实际的错误消息吗,请不要转述?请包含错误,因为我严重怀疑编译器会抱怨表丢失。可能程序正在查看数据库的另一个副本,而不是数据库浏览器。请验证您在SQL ite数据库浏览器中看到的数据库与您的应用程序访问的数据库相同。无论如何,这再次强烈表明C程序与DB浏览器查看的数据库不同。仔细检查设置。@Enigmativity是否有禁止道歉和感激的规定?我们在本网站的问答中没有太多的社会细节。如果你想说谢谢,那就在评论中说吧。如果你没有提供足够的信息,那么,无论如何,在你的问题中添加信息。现在问题已经解决了,在问题中添加任何信息是没有意义的,不,不是。本网站的目的是为未来的读者提供一系列高质量的问题和答案。这不是专门针对提问者的。我们都应该努力提高网站的质量。