How to embed SQLite in a Windows Form Application? - winforms

After learning how to use SQL this past semester, I would like to put it to use in an application. After coming upon the realization that my application would require SQL Server software installed in order for it to work, I asked around and was directed to SQLite.
I'm wondering if anyone can give a quick tutorial on how to use SQLite with a Windows Form Application, or direct me to one (I can't seem to find one).

deploying winform application with embedded sqlite

You may also consider SQLCE (Compact Edition). It is a free sql implementation from microsoft. Last time I looked at SQL Lite I think it was out of development (I'm sure someone will correct me if I am wrong).
SQLCE is easy to use from visual studio and sql server managagement studio. Anyone using your application will need the runtime installed or you can build your deployment to handle that.

Related

Using SQL Server Agent in DataGrip

I've been testing DataGrip as a SQL IDE recently and I really like it. Particularly I decided to test it because of the multiple database type support.
One issue that I am having, and that is forcing me to keep SSMS open, is the SQL Server Agent. When developing I use it quite a bit to execute jobs from the agent. I cannot seem to get the SQL Server Agent to show up in the DB window in DataGrip (or anywhere else for that matter). Is this even possible? If not then this might be a deal breaker from me when working with SQL Server.
I have tried googling all the possible ways this question could be asked, and I've walked through the 'Connecting to SQL Server' instructions on the JetBrains site for DataGrip.
After doing some research and even reaching out to JetBrains themselves, it appears this is not planned to be supported anytime soon. It's kind of a shame this is the case, but I suppose there's only so much you can do. There is a plugin for this, but it will only work on 2019 versions of DataGrip, not the current 2020 versions. Here is the link for anyone using an older version of DataGrip that wants to incorporate this feature into their IDE.
https://plugins.jetbrains.com/plugin/13473-sql-server-administration-tool

what is the new approach to developing C# apps with a stand-alone database?

I'm looking into developing single deployment applications, traditional desktop applications with simple database(s) embedded. By my understanding Microsoft have removed support for MSSQL Compact Edition in the newer versions of Visual Studio.
I've read that the approach recommended by them is to use the Express version of MSSQL, however I'm failing to understand how an application with an Express SQL database embedded in it would be able to run on a machine without the SQL service installed and running.
Am I missing something here? I've hunted around Google for the last few hours, is the only solution to use a 3rd party technology like SQLite?

Visual Studio ADO.NET missing

I would like to connect my Visual Studio 2013 project (Windows 8.1 app, x86) to an external SQL Server database to get, visualize and set some values. Therefore I found out that I need to use ADO.NET.
Unfortunately the related template in Visual Studio seems to be missing. So I googled that problem and found some solution possibilities (reset visual studio settings and user data, reinstall Visual Studio, run newest version of EFTools,...), but nothing could help me. I tried for hours now...
So what could be the problem here? I have installed VS13 Ultimate from MSDNAA. Why are the templates missing? Is there another easy way to access the external SQL Server database?
Thank you very much!
edit:
It seems to be that a so named "Universal App" doesn't support ADO.NET (for other projects I easily can add an "ADO.Net Entity Data Model". What else can I do to access a SQL Server database? What is the right way in such case?
Most convenient way to implement database access would be with EntityFramework as you figured out already. What marc_s meant is that for your app, you cannot implement it directly in this type of the project.
Implement your Data Access Layer in a separate project of Class Library and expose the data using either WCF or WEB API projects (your services layer) that will make use of he DAL. For both Entity Framework and for services there are numerous tutorials all over the internet. When your services are working (and tested!) you just add a reference to your universal app and call the services from there. That way the database access is isolated from the application and all the vulnarable and time consuming logic stays on the server side.
P.S. Services and DAL does not need to be kept in the same machine as the database, however it's recommended to keep it in the same network.

SQL Server management in VS2012

At university we have a server lab in which we do development using VS2012 for web modules such as ASP.NET. For such modules, we use Microsoft's SQL server.
My question is which extension in VS2012 would enable you to right click inside an 'open' table giving you options such as Check Constraints, Relationships etc.
I ask this because I have downloaded VS2012 to work on my own personal projects, but on opening a table and right clicking it, I receive an entirely different set of options, and I don't really want to write the SQL myself.
Any help would be very much appreciated. I have installed Sql Server 2012 with management tools etc on my machine here but not really sure what that's meant to achieve or how to integrate it into VS.

Is is possible to write MS SQL Server add-in?

Is is possible to write MS SQL Server add-in? I'm thinking of some application integrated with database server available form SQL Server Enterprise Manager.
Have you looked into using extended stored procedures to provide add-in like functionality?
The only hang up would be to see it in the Enterprise Manager, but you can probably use Martin's post as a way to do that.
http://support.microsoft.com/kb/190987
You might consider researching extended stored procedures. They are a way to integrated C++ logic into SQLServer. It appears that they are being phased out in favor of CLR integration but there might be some really good ideas to be found is seeing what people have done with them.
The one thing that always scared me off of extended stored procedures is that if your code crashed the entire database goes down. They run in the SQL Server process and there is limited protection.
MSDN link:
Database Engine Extended Stored Procedure Programming
I'm not sure if this is too late but here are some links that I've used to get started in writing SSMS plug-ins.
http://jcooney.net/archive/2007/11/26/55358.aspx
http://www.karpach.com/ViewArticle.aspx?ArticleFileName=SQL-Server-Managment-Studio-Object-Explorer-Search-Add-In.htm
http://sqlblogcasts.com/blogs/jonsayce/archive/2008/01/15/building-a-sql-server-management-studio-addin.aspx
http://aspalliance.com/1374_Extend_Functionality_in_SQL_Server_2005_Management_Studio_with_Addins.all
I hope this helps
You can include a lot into MS SQL server 2005 and 2008 database. Including .Net code.
But there is no real way to extend (create plugin for) the Management Studio. (Formerly Enterprise Manager.)
However there are database management addins for Visual Studio (especially in Team System). Maybe there you can implement what you need.
Nothing directly that I know of. In SQL Server Management Studio (for 2005 and later) at least there's a pretty simple system for adding external tools to the menu. Enterprise Manager probably has something similar. So you could build an application that does whatever you want and add it to your menu.
The trick is deployment. There's almost certainly a way to add your app to the menu as part of an install package, but I haven't had to mess with it myself. Additionally, it sounds like what you really want to do is have the system deployed into the database itsefl, and have Enterprise Manager automatically detect it. I'm pretty sure you can't do that.
SQL Server Enterprise Manager is just an instance of Microsoft Management Console. If you look at the shorcut its command line is this:
C:\WINDOWS\system32\mmc.exe /32 "C:\WINDOWS\system32\SQLServerManager.msc"
You should be able to create a new Snap In that sits beside SQL Server in the tree hierachy.
Take a look at http://msdn.microsoft.com/en-us/library/ms692755(VS.85).aspx to see how this is done.

Resources