Click here to Skip to main content
Click here to Skip to main content

Tagged as

Creating a SQL Server Database Programmatically

, 14 Aug 2010 CPOL
Rate this:
Please Sign up or sign in to vote.
A simple example of creating a new database on a SQl Server instance
Recently I asked in the Forums for help in creating a new database on a SQL Server from within my application. I thought this would be helpful when I installed a custom app at work, where I don't have access to the server, but have permissions to administer the SQL Server 2008 service.
 
I received a number of helpful suggestions, but they all boiled down to "you can't do it." I hate being told "No" so I searched some more. MSDN was useless, and Google not much better, but I finally found an answer in the Microsoft Technical Support Knowledge Base.
 
Just in case someone else is looking for a way to do this simple task, I offer the following simple code:
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace DataTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btnCreateDatabase_Click(object sender, EventArgs e)
        {
            String str;
            SqlConnection myConn = new SqlConnection
                ("Server=BAAL\\SQLEXPRESS2;Integrated security=SSPI ;database=master");
            str = "CREATE DATABASE MyDatabase";
            SqlCommand myCommand = new SqlCommand(str, myConn);
            try
            {
                myConn.Open();
                myCommand.ExecuteNonQuery();
                MessageBox.Show("Database Created Successfully", "MyApp", 
                    MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString(), "MyApp", MessageBoxButtons.OK, 
                    MessageBoxIcon.Information);
            }
            finally
            {
                if (myConn.State == ConnectionState.Open)
                {
                    myConn.Close();
                }
            }
 
        }
    }
}
 
I apologize for the formatting - Opera is a bit user-hostile in that respect.
 
Your app must be running under an account that has full privileges on the server for this to work, and you'll need to modify the connection string to match your installation, of course. But this worked perfectly on the first attempt, and I thought it worth sharing.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Roger Wright
Engineer Aha Macav Power Service
United States United States
BS Electrical & Electronics Engineering

Thirteen years experience designing & programming measurement & control instrumentation.

Seven years working as Systems Manager for a local Ace Hardware chain.

Currently employed by the local Indian tribe at their electric utility, building substations, automating meter reading, mapping the system and inventory with GPS, and now that we've absorbed the water and sewer system, designing sewer and water lines, sewer lift stations, and developing wells.

Programming experience using assembly, FORTRAN, BASIC, HP JCL, Prolog, Ada, Pascal, hpl, ; currently learning VC# and having "fun" with ASP.Net.

Avid darts player, though not a good one... Fair to excellent 12-string guitar player, depending on who you ask. Spare time spent fishing, reading, and playing with the neighbor's cat (see picture). Second degree black belts in Hapkido and Taekwondo.

Past President of the local Kiwanis Club, past Director of the United Way, and no longer a member of either.

Have held licenses as a Real Estate broker and Securities dealer - once ordained as a minister on a whim. My latest certificate was earned without any hands on experience at all - Yamaha Certified 5-Star Technician for motorcycles, ATVs, and watercraft. What next?

Raised in sunny California, before it became the Peoples' Republic of California. Relocated to Arizona to escape being homeless after peace broke out.

Objective: To learn all there is to know. I know I'll be disappointed one day, but I've made a good start, and the eventual disappointment is likely to be brief.


Comments and Discussions

 
QuestionNot at all PinmemberPCOMM Engineering17-Sep-14 12:17 
AnswerRe: Not at all PinmemberRoger Wright17-Sep-14 16:25 
GeneralReason for my vote of 5 This code helped me to what it says ... PinmemberMichaelSwede13-Apr-11 6:37 
GeneralThis is a sample of how to do it, not production code, of co... PinmemberRoger Wright16-Aug-10 17:13 
GeneralSorry ! its not good bcoz when u'll press on create button t... PinmemberNiyamat16-Aug-10 2:35 
GeneralI don't write 'em, I just steals 'em from Microsoft. :-D PinmemberRoger Wright14-Aug-10 11:39 
GeneralThe str variable is needless, I'd instantiate the connection... PinmemberPIEBALDconsult14-Aug-10 7:33 
The str variable is needless, I'd instantiate the connection in a using, and I'd use CreateCommand.
 
And don't put data access in the UI!
 
Other than that it's fine... Big Grin | :-D

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web01 | 2.8.141220.1 | Last Updated 14 Aug 2010
Article Copyright 2010 by Roger Wright
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid