第一个计划的规划和发展步骤

时间:2009-08-15 20:17:59

标签: c# sql wpf project-planning

我正处于编写第一个真实程序的准备阶段。我设计了一套表来存储我的财务数据。我知道

1)表格中的数据是什么

2)表和字段之间存在什么关系

3)需要哪些查询

4)将数据写入表格的形式应该是什么样子

5)我需要什么输出以及如何组织它

我决定使用C#,使用WPF作为GUI,使用SQL数据库作为数据。如果我理解正确,我将需要ADO.NET与SQL db连接。对我来说问题是,现在我只熟悉使用文本文件(或键盘)编写非GUI C ++进行输入。

我不想成为一名具有各种各样的市场技能的程序员,所以我宁愿花时间学习那些不适用于这个项目的东西。我正在寻找从这里到最有用的工作(和可维护)程序的最直接路线。

这就是我需要帮助的情况。如果我遗漏了任何相关内容,请告诉我

我的问题是,我需要从这里采取什么步骤来完成它?

感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

我的建议是首先将您的第一个原型作为控制台/文本程序在所选平台下编写。当您按照自己的方式获得输入和输出时,请再次询问重构帮助,以便按照您希望的方式获取UI。您还可以轻松测试数据库查询,并在之前更有效地使用现有技能,以获得正确的功能,但用户界面有限。

您的控制台程序也将验证您的程序的GUI版本是否按预期工作。

修改:Here is a simple program that reads a value from the database并将其放在屏幕上。

using System;
using System.Data;
using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        using (SqlConnection connection = new SqlConnection("Data Source=server;database=mydb; Integrated Security=SSPI"))
        {
            SqlCommand command = connection.CreateCommand();
            command.CommandText = "SELECT CategoryID, CategoryName FROM dbo.Categories;";

            try
            {
                connection.Open();

                SqlDataReader reader = command.ExecuteReader();

                // process each row one at a time
                while (reader.Read())
                {
                    // reader contains the row (reader[0] is first column, etc)
                    Console.WriteLine("\t{0}\t{1}", reader[0], reader[1]);
                }
                reader.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}

使用此(以及我从中得到其他版本的链接)来帮助您完成最初的ado.net。作为体验程序员,您可以看到,如果您遵循此模型,您可以创建基于传入查询返回数据的常用函数。当你想要获取数据表而不是简单值时,我建议从ExecuteReader移动到other data functions函数。

N.B。 通常我不建议你从这里开始 - 我建议fluent NHbernate但对于初学者来说这有点复杂,并且在你理解你的代码(在.net中)与数据库和数据库之间的关系后会更好。其中的数据。

还有一个想法。如果您想使用其他技术而不是SqlClient,则可以使用Linq2Sql. Watch this video to see if its helpful.。事实上,DimeCasts.net上有一些非常有用的免费视频。

答案 1 :(得分:2)

开始新答案会导致我的旧答案不适用于这些非常具体的步骤。这个答案是支持Preet Sangha的回复,但其目的是比我们任何人都更具体。

启动一个控制台应用程序,并在应用程序顶部添加“using System.Data.SqlClient”行。您需要从Connection对象开始,然后是Command对象。尝试使用命令对象执行查询。尝试“插入”语句和“选择”语句。对于“选择”,您将从数据库中获取一些东西。为此使用SqlDataReader(命令中的executeReader)并尝试拉出值(reader.read()& getXXX,其中XXX是您要检索的数据类型)。这些应该让你足够舒服,以解决问题,并回答更直接的问题。

鉴于您对此有多新,MSDN将成为您最好的朋友。这应该有助于你开始:) http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection(VS.71).aspx

答案 2 :(得分:1)

您是否有任何文档指定应用程序将要执行的操作而不是规范将如何完成?

如果你没有,那么退后一步写一个Functional Specification.完成之后你可能想重做一些你已经完成的工作。

您还应该花点时间思考如何编写代码。您将使用哪些名称空间和类。你会把代码放在哪里:

  • 用户界面
  • 业务逻辑
  • 数据库访问

您应该隔离应用程序的这些部分,以便于维护。

答案 3 :(得分:1)

  

我不想成为一个   程序员具有多样化和适销对路   技能,所以我宁愿避免花钱   时间学习不适用的东西   到这个项目。

在这种情况下,请跳过.Net。这需要时间来学习它,以便做好工作。既然你提到你有(可能是最小的)C ++经验,我可能会在Qt Designer的帮助下使用Qt来布局GUI。从那时起,应用程序的其余部分应该与您已经完成的内容非常相似。

除非你知道你在使用.Net做什么,否则你很快就会得到非常难以维护的代码。我责怪Visual Studio。默认情况下,它鼓励“拖动这里的东西,放弃那里,双击并编写代码”的编码方法,这通常会导致可怕的混乱。

如果您坚持要求C#/。Net,我建议您从后端开始,继续前进。在考虑GUI之前,花点时间为实体和数据访问以及业务层建模。您甚至可以更进一步,编写两个项目。一个是你的dll,包含业务和数据访问逻辑。另一个是您的可执行文件,您可以将UI事件连接到dll的api。

祝你好运。

相关问题