Simple database application for Windows

匆匆过客 提交于 2019-12-09 14:43:50

问题


I need to build a simple, single user database application for Windows. Main requirements are independence from windows version and installed software. What technologies (language/framework) would you recommend? My preference for language is the Visual Basic.

EDIT: What about VB.Net and SQL Server Compact Edition?


回答1:


I would recommend Sqlite. It's completely self-contained, and public domain so there are no license issues at all.




回答2:


Single user or multi user?

For single user, the answer would be SQLite

For multi user (or multithread), try MySQL or PostgreSQL.




回答3:


Since your requirement is a windows based application i would suggest that you go with sql server 2005 express edition which is a free tool, but with certain small limitations. you can upgrade to a bigger version when you go with a paid version.

There are other DB engines like SQL Lite or FireBird, choose them if the support and growth options they provide are good enough for you

Additionally, Visual Basic is eof lifed. VB.NET might be a better windows based platform currently. It would give a better platform / features to start with and when you want to expand the talent you have working on the project, i assume .NET talent might be more available than programmers who want to work with a dead language.




回答4:


duplicate of What options are there for a quick embedded DB in .NET?

I'll repeat my answer from there:

"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




回答5:


SQLite will work for a local desktop application. If you want several users, a few gigas of data, and multiple connections I would use mysql or Firebird.

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




回答6:


FireBird SQL server will be thing of choice. It can be used in both embedded and multiuser mode like traditional databases. It implements many of the SQL standards and has strong community base. It is available for Windows, Linux, Solaris, OS X, HP-UX




回答7:


As mentioned, SQLite is a great single-user database. This page has VB/SQLite examples. Once concerns is that SQLite parses foreign key constraints, but does not enforce them. You can use this code to generate "foreign key triggers" for SQLite, thus gaining an easy to use database with FK constraints.

Depending on how demanding your database needs are, though, you might want to consider MS Access.




回答8:


I used SQL Server Compact Edition. It's like sqllite. A single SDF file accessed using ADO.NET. You can develop your application using Visual Basic .NET and manage you database (add tables, columns, constraints, etc...) using Visual Studio.




回答9:


SQLite may be what you are looking for. http://www.sqlite.org/




回答10:


Depending on your needs for the application.

You could use SQLLite which is a very nice database with no installation required.

You could also use Microsoft SQL Server: SQL Server Compact 3.5.

Both are free!




回答11:


It's not quite clear from your post whether you want a web application or not.

For a web application, MySQL works effectively on the Windows platform. You also have nearly limitless options for development environment including, PHP, Ruby on Rails, Django, and .Net.

If you are looking at a desktop application, MS Access might be suitable ... incredible easy for simple applications.




回答12:


Well, assuming you don't have any prior experience...

You need some kind of persistence storage (for example a database) and a client. For the storage you could use almost anything. For example you could create your DB in MS Access and just ship it as a file, using ADO to access it. Other options are MS SQL Express edition (comes pre-installed on some machines or could be installed for free) and plenty of open source databases like SQLite

For the client side you could not go wrong with VBScript and ADO (using OLE DB drivers). They come with every Windows installation since Dark Ages, you will have plenty of references/tutorials/answers online. A drawback: no UI to speak of, so you'll have to build a command line interface (which was for a 'simple' application).

If you want to build a UI I would suggest using .NET WinForms. The overhead will be substantially bigger but .NET is now installed on all XP/Vista machines and even if it is not you could always install the framework with you application.




回答13:


If you want to build application that can move to other pc easily,I prefer Microsoft Access it is small database easy to use and no need to install.It suites for application like Addressbook,mini crud system.

But if you want to develop enterprise database system you should use MySQL instead.




回答14:


I do not understand what you mean with "independence form [...] installed software". You ever need at least the DBMS installed as well as one client or user interface.

I recommend using MS Access. It is easy and cheap for simple, single user tasks and rapid prototyping development. Only development version have to be bought ("normal" Access) to create DBs. Runtime version of Access 2007 can be downloaded free of cost from Microsoft Homepage - for using only the database you created.

Also it combines DBMS and GUI frontend in same tool.




回答15:


Dare I mention MS Access...?




回答16:


If you are looking for small footprint (up to a few MB) and easy deployment (end-user should only install your application to get it working), then your options are SQLite and Firebird embedded.

Of those two, I'd pick Firebird any time, because of it's full support for SQL (you can't, for example, drop a column in SQLite), ACID compliance, and ability to go client/server without any changes (just change the connection string from embedded to server) to the code if you ever decide to let multiple users work on the same database.

Not to mention that you can use full server to develop (which means your application and database administration tool can be connected to database at the same time).




回答17:


I'm successfully using Turbo Delphi (free for commercial and no commercial use) + ZeosLib (zeos.firmos.at).

The only things you need to distribute with your .exe are the database client dlls (no need to install the client, just put the dlls in the same directory).




回答18:


Would Kexi work?




回答19:


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

http://myvisualdatabase.com/




回答20:


Best Option would be to create a Win32 native application using Delphi and use SQLLite as the database.

Reason being Delphi can produce native win32 applications without any other product being installed on the machine.



来源:https://stackoverflow.com/questions/113723/simple-database-application-for-windows

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!