I have been creating a database that will handle tutor and student information. Students will be able to access information about the tutors and the database itself will be able to track the students that come in for tutoring sessions (i.e. demographic information and major information as well as attendance). I have a good database created but now I need a GUI to go with it.
Last semester I programmed window form applications in c# with visual studios (2017) and I think this would be a great application to create a GUI with for this database. I am sure there is a way to connect my database to visual studio but I am not sure the commands that would be executed or the certain steps that take place inside visual studio (adding a file? reference?).
I am looking for one of two solutions. We have sql developer available on a school network that can be accessed via IP and student user/pass. I could connect the c# application to that database, but then it would only work while i am on the campus network (which is fine because thats where the application will be used). I cannot find any documentation on how to go about this, perhaps its not possible yet.
The other solution I foresee is creating a local database on my computer for the application which would work fine as well, as long as I can use the script that I have made already, if this is the case I just need to know how to connect the C# code to the local database (I am guessing to create a local database there is an option just like there is a windows form application, it would be a local database supporting pl/sql).
Anyways I would greatly appreciate any help given. If you can point me to some documentation or explain yourself IT would be a big help to me and my final grade (and the tutoring center).
Thanks all!
TL:DR Need a way to connect C# code to database either local or on school network.
GUI:
So first off, in terms of what you should do for your GUI with C#, I would recommend WPF. It is newer and more supported by Microsoft than Windows Form Application.
SQL:
For your SQL connection it really depends on your type of database. I recommend you search the NuGet package library as there are connectors for almost every type of DB. I know .Net comes with a general connector, but personally with my MySQL DB I had the most luck with the MySQL connector in NuGet.
More Help:
Also based off of your tag oracle-sqldeveloper, I assume you are using MySQL. If you are a great C# guide can be found here. I used this and it really helped in getting me started with MySQL & C#.
I'm currently trying to implement a database for my in class project. I'm collaborating with 2 other students and we're trying to use a database in our C# console application. I use SQL Express and SQL Management studio at my work but this works well for us because we host our own servers. At school we don't have that luxury. We're using github to store our source code but I'm struggling to find a nice way to implement the database in such a way that we can all work remotely and collectively at the same time while managing our database connections in such a way that all our local code will compile nicely. I'm hoping to find someone who has also dealt with this and can provide a nice solution.
Either run your DB locally (point app to localhost) or else point it to your shared DB.
As per requirement, we need to convert the existing MS Access database to a web application. Is there any easy way to convert the MS Access database to web application? As of now they are inserting the data to access db using access Forms. User also wish to continue access form feature even if we create new web application for the same. That means user should have the option to access the MS access database through Access forms as well as web application.
Please guide me away to solve this issue.
Best Regards,
Ranish
You can use Office 365 and have somewhat of a web-based application.
https://blogs.office.com/en-us/2012/07/30/get-started-with-access-2013-web-apps/
Or, store Access in SharePoint, but your functionality will be quite limited. Keep in mind, no VBA will run on a web-based application.
The alternative is to use SQL Server Express, and ASP.NET, both of which are free from Microsoft. I'll tell you now, though, the learning curve will be quite steep if you have never used these technologies before. This combo, however, will give you the most control!
You can get the .NET framework from here.
https://www.microsoft.com/en-us/download/details.aspx?id=30653
You can get SQL Server Express from here.
https://www.microsoft.com/en-US/download/details.aspx?id=42299
Four years after and according to this:
https://www.comparitech.com/net-admin/microsoft-access/
still a question for many. Access can be converted to an Web App in almost no time. Particularly Access Forms are super easy to crate with the library like Jam.py.
The process was discussed on Reddit in April 2021:
https://www.reddit.com/r/MSAccess/comments/mj4aya/moving_ms_access_to_web/
I see quite a few Access databases with more than 100 tables, all converted successfully to SQLite3. After inspecting the imported tables via provided link, Forms are automatically created. Which leaves the Access Reports and Business Logic untouched. Reports can be designed in LibreOffice for Jam.py as Templates. Business Logic can be moved from VB to Python, if there is a need to do so.
The SQLite was selected as the default DB for the conversion, since it is very portable. Looks like the converted App can be moved to any DB that Jam.py supports, by Export/Import.
Cheers
First of all, Database and Web Application are not mutually exclusive.
Back to original question, I have done multiple projects like that. A client started with small Microsoft Access database with a couple of user; then they migrate to to web application when they get more traffic.
At first, you want to convert data from MS Access Database to SQL Server. MS Access Database is not meant to access multiple users simultaneously. Then you develop the Web Application which uses SQL server as back end database.
Right before you go live, you convert the data again from MS Access Database to SQL Server very last time. Then do not let them use old MS Access Database anymore.
Easy way to convert the MS Access database to Web application
Most of the time whoever created MS Access database are not software engineer, so table are not normalized and do not have relationship at all. I normally create new normalized database in SQL Server. Then write a small program to convert those data from MS Access to SQL database.
There are generally two approaches with more details covered in this article looking at ways to convert microsoft access to web application
Direct Port means simply a basic migration whereby you port more or less verbatim basic Access forms into a web portal i.e. Microsft Access to a browser-based version as is using a third-party tool. Some of these are quite mundane in that it just allows you to run the Access application inside an internet browser (whoopee!) or can be quite drawn out and then limits you on how much you can change afterward. With even more complex cases requiring a consultant to help you migrate the system. Though it does help to know your user count as the higher you tend to be, the less appealing a third-party porting service becomes due to subscription-based models.
Upsize -the more involved or complex your data structure is an upsize using custom development and splitting the system across web and data tiers might be worth it if
You've got a special process or some secret sauce you're looking to keep.
Likely going to have a significant user count and want to avoid subscription
Inherently cynical or cautious, and want to handle your own architecture and security
Looking for a specific user experience
If you mean how to convert automatically and you want to keep both Access and the Web application (I don't recommend that, I would move everything to the Web app) I would do the following:
Export your Access data in CSV/Excel
Use a platform like DaDaBIK to import the CSV/Excel file and automatically create a Web app based on that file, with data stored on SQL server, MySQL, PostgreSQL or SQLite.
connect your Access to the SQL Server (or Mysql, ...) database created by DaDaBIK, from now on Access will only be used as a frontend.
Now you have a web app created with DaDaBIK and your Access frontend both working on the same DB. As I said I would skip 3) and keep only the Web app, this helps with handling data integrity when two users are accessing the same record.
Depending on how complex is your Access Application (e.g. complex validation rules or custom VB code you added), you could reach your goal without any coding or with some coding.
I have developed a desktop-based book-keeping software for lawyers in C#. I have used SQLite for the database. The software is very well received by the small community of users who have installed it.
I would like to extend the functionality of this software to enable multiple installs over LAN.
The software would be capable of accessing the single common database over LAN and every one should be able to modify it.
I am not an expert with this. What points do I need to consider? Are there any examples available already?
Here is a good sample that demonstrates storing users in sql server, and it also steps you through creating the database:
http://www.codeproject.com/Articles/4416/Beginners-guide-to-accessing-SQL-Server-through-C
It is a web-based application, so you would need to convert the client side into windows forms. If you need any help with that or anything else, feel free to let me know.
You can Install MYSQL or MS-SQL on your server and put the credentials in your application.
I've added a service based database to my solution.
So, it's working on my system and everything is dandy. However this program will have to run on many many machines all independent to each other (meaning they don't connect or even know they exists) I'm selling the application to different people all over my country.
What exactly do I have to do so my application has access to the database design and uses it?
I might be asking the wrong question, but hopefully with my use case you can guide me. Thanks!
You will need to install the relevant database engine with the correct service name, and create the database and relevant objects on installation.
Overall probably not a good solution unless you really need a fully fledged database engine, and even then i local database might be easier.
Bear in mind that the installation of a serious database engine often has complication which would baffle the average PC user.
Can't you use something like sqllite, or berkelydb?
What exactly are the requirements?