M
M
Mr.nobody2017-05-17 22:19:29
SQL
Mr.nobody, 2017-05-17 22:19:29

How to write the next application?

Hi all. I study programming on my own. At my main job (not related to IT), I conduct training and certification. I decided to write a program for accounting certified (I got tired of writing with my hands in a magazine, especially when there are a lot of people). The program will be so far only on my PC with the ability to install it on others (if it turns out to be of high quality and the employer wants to buy it). The idea is as follows: entering data about students (name, address, position, etc., certification date and subsequent recertification dates), viewing a list of students with the ability to filter by position, organization, etc., viewing information about each student separately , making report. Scheduled 4 steps:
1. you need a database, chose MySQL, installed it, created a database with tables. Question: because the program will be on one PC i.e. The database is local, with the possibility of further installation on other PCs, is the choice of the database correct or is it better to use another one, I tend to Microsoft SQL Server 2016 Express
2. I am studying C# logic will be written in this PL
3. Graphical interface using Windows Presentation Foundation
4. I don’t know how to somehow connect all these components into one.
Now stopped at the 1st step.
Tell me if the train of thought (program architecture) is correct, correct where I made a mistake.
Your suggestions, comments. Thanks for the help.

Answer the question

In order to leave comments, you need to log in

3 answer(s)
A
Artem, 2017-05-17
@devspec

Yes, they didn't make a mistake anywhere. All this can be connected into one and it will work. If you need a network database, you can use MySQL or Postgresql.
You can use WinForms instead of WPF. And it is possible and WPF - as it is more pleasant.
Don't forget about ORM - Entity Framework, for example.

A
Alexander Ter, 2017-05-17
@alexsandr0000

I think you need to first understand what you want to get in the end.
If the program will work on one PC, then it might be worth looking in the direction of SQLite, while to install on another computer, you just need to copy the project folder.
If multi-user access is implied, then there are several options:
- client-sql server;
- client-server-sql server;
The advantages and disadvantages of both methods can be viewed on the Internet.
Further, if you plan to further develop the project, then you should think about the architecture and conditionally divide the application into several levels:
- The level of working with the database or DAL (here you need to use ORM);
- Business logic layer or BLL, at this level all checks are already performed and ensuring the correct logic of work;
- Presentation level, here you can already display data, enter data, etc. using WPF, ASP.NET, Winform.
Well, if you decide to use a three-tier structure, then I think it's worth looking at WCF.
I advise you to read the book Using DDD and Design Patterns

K
Konstantin Nagibovich, 2017-05-18
@nki

You have a typical accounting task.
The best tool for solving such problems is 1C, but this is if you really want to solve the problem you wrote about. If you want to practice programming, you can choose the option that suits you best.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question