【问题标题】:SQLite3 in C#.NETC#.NET 中的 SQLite3
【发布时间】:2009-07-17 19:24:32
【问题描述】:

我正在尝试在 C#.NET 中使用 SQLite3。我搜索了一下,发现了一些不同的 API。我还检查了 SQLite 的网站以获取包装器。我喜欢它们,但想在不使用附加依赖项的情况下编写自己的包装器。我发现不需要添加依赖项的所有包装器都不是免费的。

我想知道如何读取、执行和写入 sqlite3 数据库。它是套接字连接(tcp?udp?等?)?我试过在谷歌上搜索这个答案,我得到的只是图书馆特定的答案。 :/ SQLite 的网站文档也没有多大帮助。

编辑:我在谷歌搜索时还发现了COM interface,但该库是特定的吗?

非常感谢! :)

【问题讨论】:

    标签: c# .net sqlite wrapper


    【解决方案1】:

    您看过System.Data.SQLite 库吗?它是一个免费的 ADO.NET 库,可以与 SQLite 进行交互,不需要任何其他东西即可运行,因为它内置了引擎。

    我已经使用了一段时间了,发现它真的很容易使用。如果您决定使用一些强类型表或想要使用它来添加/创建表,它甚至还有一个 Visual Studio 插件。

    【讨论】:

    • 嗯。我记得有一次看了一下。我现在会重新调查。
    • 谢谢。我想你帮助我澄清了我真正想要的东西。我会用这个澄清去尝试谷歌。 :)
    【解决方案2】:

    (回答“套接字连接”问题。)

    SQLite 的部分意义在于它是一个嵌入式数据库 - 没有可与之通信的服务器,您将库直接加载到您的进程中,它直接与文件系统通信。

    【讨论】:

      【解决方案3】:

      如果你想在 .NET 中使用 SQLite,你应该看看System.Data.SQLite,它是 SQLite 的 ADO.NET 提供程序

      【讨论】:

        【解决方案4】:

        System.Data.SQLite 比 SqlClient 等其他提供程序相对较慢。我已经查看了它的代码。

        现在我想称它为 throw P/Invoke 但不像 SQLite 提供程序。每当您通过 DataReader 访问列值时,它都会通过 P/Invoke 调用

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-02-08
          • 2013-07-08
          • 2015-12-13
          • 2011-09-26
          • 2017-03-10
          • 2012-10-16
          • 2015-03-31
          相关资源
          最近更新 更多