为10多个用户开发程序时

时间:2014-12-09 01:04:55

标签: c# database desktop-application erp

我对编程比较陌生,我正在尝试用C#开发一个桌面程序,可以帮助小型企业完成日常任务(采购订单,销售订单,会计等)。该程序可能最多可供10个用户使用,但我认为用户数量可能增长,因此它应该能够处理10个以上的用户。

我的问题是这类程序的数据库部分是如何工作的。我的意思是它显然应该有一个数据库,但是如果我在其中放入一个数据库,那么每次我将它出售给新客户时我应该为数据库软件付费吗?我也很欣赏有关哪种数据库可以用于这种程序的想法。

提前谢谢你。

2 个答案:

答案 0 :(得分:3)

如果我这样做,我会调查sql Express。你需要很长时间才能成长它(如果有的话),那么你可以看看其他东西

http://www.microsoft.com/en-us/server-cloud/products/sql-server-editions/sql-server-express.aspx

答案 1 :(得分:0)

这取决于您的范围。假设您是某种形式的顾问,并为不同的组织构建此类服务。这将要求每个组织拥有自己的数据库,这意味着,您可以使用免费版本的SQL或付费版本(他们将为您安装此设置)。

但是,如果您正在为一个组织开发此程序,并且不要求将数据与一个或另一个单元隔离,则可以设置免费版本的SQL或付费版本并将其用于所有人。

从编程部分,您的程序,基于Web或Windows应用程序可以通过几种不同的方式进行编码。您可以进入复杂的事情,例如创建由应用程序调用的存储过程,或者只是在程序中设置一些东西以推送和提取数据。关于如何做到这一点,有很多关于它的信息。请记住,您需要考虑如何处理访问权限(某些用户可能只能从数据库读取而有些用户可以读取和写入)。然后当然有加密和散列以及所有那些好东西,但那将由你来解决。

以下是通过C#在SQL中创建记录的基本示例:

using (SqlConnection conn = new SqlConnection(@"Persist Security Info=False;Integrated Security=true;Initial Catalog=myTestDb;server=(local)"))
{
    SqlCommand addSite = new SqlCommand(@"INSERT INTO site_list (site_name) VALUES (@site_name)", conn);
    addSite.Parameters.AddWithValue("@site_name", "mywebsitename");
    addSite.Connection.Open();
    addSite.ExecuteNonQuery();
    addSite.Connection.Close();