12

我需要为 Windows 构建一个简单的单用户数据库应用程序。主要要求是独立于 Windows 版本和安装的软件。您会推荐哪些技术(语言/框架)?我对语言的偏好是 Visual Basic。

编辑:VB.Net 和 SQL Server Compact Edition 怎么样?

4

20 回答 20

18

我会推荐Sqlite。它是完全独立的,并且是公共领域,因此根本没有许可证问题。

于 2008-09-22T08:03:02.530 回答
11

单用户还是多用户?

对于单个用户,答案是SQLite

对于多用户(或多线程),请尝试MySQLPostgreSQL

于 2008-09-22T08:04:38.533 回答
7

由于您的要求是基于 Windows 的应用程序,我建议您使用免费工具 sql server 2005 express edition,但有一些小的限制。当您使用付费版本时,您可以升级到更大的版本。

还有其他数据库引擎,例如 SQL Lite 或 FireBird,如果它们提供的支持和增长选项对您来说足够好,请选择它们

此外,Visual Basic 是生命周期的。VB.NET 目前可能是一个更好的基于 Windows 的平台。它将提供更好的平台/功能,并且当您想扩展您在项目中工作的人才时,我认为.NET 人才可能比想要使用死语言的程序员更容易获得。

于 2008-09-22T09:13:18.757 回答
3

.NET中的快速嵌入式数据库有哪些选项?

我将从那里重复我的答案:

"Or theres Esent, the built in database that exists in every copy of windows. Read about it here: http://ayende.com/Blog/archive/2008/12/23/hidden-windows-gems-extensible-storage-engine.aspx" and http://www.codeplex.com/ManagedEsent

于 2009-11-24T18:31:57.420 回答
2

SQLite 适用于本地桌面应用程序。如果您想要多个用户、几千兆数据和多个连接,我会使用 mysql 或 Firebird。

http://www.mysql.com/ http://www.firebirdsql.org/

于 2008-09-22T08:12:35.720 回答
2

FireBird SQL服务器将是首选。它可以像传统数据库一样用于嵌入式和多用户模式。它实现了许多 SQL 标准并拥有强大的社区基础。它适用于 Windows、Linux、Solaris、OS X、HP-UX

于 2008-09-22T11:03:00.057 回答
1

如前所述,SQLite 是一个很棒的单用户数据库。 此页面有 VB/SQLite 示例。曾经担心的是 SQLite 解析外键约束,但不强制执行它们。您可以使用此代码为 SQLite 生成“外键触发器”,从而获得一个易于使用的具有 FK 约束的数据库。

但是,根据您的数据库需求的要求,您可能需要考虑 MS Access。

于 2008-09-22T10:08:33.820 回答
1

我使用了 SQL Server 精简版。这就像 sqllite。使用 ADO.NET 访问的单个 SDF 文件。您可以使用 Visual Basic .NET 开发应用程序并使用 Visual Studio 管理数据库(添加表、列、约束等)。

于 2008-09-22T10:25:05.997 回答
0

SQLite 可能是您正在寻找的。 http://www.sqlite.org/

于 2008-09-22T08:03:13.683 回答
0

取决于您对应用程序的需求。

您可以使用SQLLite,它是一个非常好的数据库,无需安装。

您还可以使用Microsoft SQL Server:SQL Server Compact 3.5

两者都是免费的!

于 2008-09-22T08:07:17.857 回答
0

好吧,假设你之前没有任何经验...

您需要某种持久性存储(例如数据库)和客户端。对于存储,您几乎可以使用任何东西。例如,您可以在 MS Access 中创建数据库,然后将其作为文件发送,使用 ADO 访问它。其他选项是 MS SQL Express 版本(预装在某些机器上或可以免费安装)和大量开源数据库,如SQLite

对于客户端,VBScript 和 ADO(使用 OLE DB 驱动程序)不会出错。自黑暗时代以来,它们随每个 Windows 安装一起提供,您将在线获得大量参考/教程/答案。一个缺点:没有 UI 可言,因此您必须构建一个命令行界面(用于“简单”应用程序)。

如果您想构建一个 UI,我建议您使用 .NET WinForms。开销会大大增加,但 .NET 现在已安装在所有 XP/Vista 机器上,即使不是,您也可以始终将框架与您的应用程序一起安装。

于 2008-09-22T08:07:43.033 回答
0

从您的帖子中不清楚您是否想要一个 Web 应用程序。

对于 Web 应用程序,MySQL 在 Windows 平台上有效地工作。您还拥有几乎无限的开发环境选项,包括 PHP、Ruby on Rails、Django 和 .Net。

如果您正在查看桌面应用程序,MS Access 可能是合适的……对于简单的应用程序来说非常简单。

于 2008-09-22T08:11:49.357 回答
0

如果您想构建可以轻松移动到其他 PC 的应用程序,我更喜欢 Microsoft Access,它是易于使用且无需安装的小型数据库。它适用于地址簿、迷你 crud 系统等应用程序。

但是如果你想开发企业数据库系统,你应该使用MySQL

于 2008-09-22T08:24:24.117 回答
0

我不明白您所说的“独立形式 [...] 已安装软件”是什么意思。您至少需要安装 DBMS 以及一个客户端或用户界面。

我建议使用 MS Access。对于简单的单用户任务和快速原型开发来说,它既简单又便宜。只需购买开发版本(“正常”访问)即可创建数据库。Access 2007 的运行时版本可以从 Microsoft 主页免费下载 - 仅使用您创建的数据库。

它还将 DBMS 和 GUI 前端结合在同一个工具中。

于 2008-09-22T08:37:43.803 回答
0

我敢提 MS Access ...吗?

于 2008-09-22T09:25:18.573 回答
0

如果您正在寻找占用空间小(最多几 MB)和易于部署(最终用户应该只安装您的应用程序以使其工作),那么您的选择是嵌入 SQLite 和 Firebird。

在这两者中,我会随时选择 Firebird,因为它完全支持 SQL(例如,您不能在 SQLite 中删除列)、ACID 合规性以及无需任何更改即可进入客户端/服务器的能力(只需如果您决定让多个用户在同一个数据库上工作,请将连接字符串从嵌入式更改为服务器)。

更不用说你可以使用全服务器开发(这意味着你的应用程序和数据库管理工具可以同时连接到数据库)。

于 2008-09-22T10:54:54.880 回答
0

我成功地使用了 Turbo Delphi(免费用于商业和非商业用途)+ ZeosLib(zeos.firmos.at)。

您需要与 .exe 一起分发的唯一东西是数据库客户端 dll(无需安装客户端,只需将 dll 放在同一目录中)。

于 2008-09-22T12:04:27.927 回答
0

可喜有用吗?

于 2009-11-24T18:28:00.580 回答
0

I can recommend from personal experience "My Visual database" free, no code, no sql, just drag and drop.

http://myvisualdatabase.com/

于 2014-01-23T20:46:31.487 回答
-1

最好的选择是使用Delphi创建一个 Win32 本机应用程序并使用 SQLLite 作为数据库。

原因是 Delphi 可以在机器上不安装任何其他产品的情况下生成本机 win32 应用程序。

于 2008-09-22T09:54:14.963 回答