Create a sql server database programmatically at run time

17,335

The following code will help you to create a database named my_db and a table within the database named as customer.

Note: necessary explanations are given in comments please read it for clarification

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        //creating and initializing the connection string
        Dim myConnectionString As SqlConnection = New SqlConnection("Data Source=(local)\SQLEXPRESS;Initial Catalog=master;Integrated Security=True;Pooling=False")
        //since we need to create a new database set the Initial Catalog as Master
        //Which means we are creating database under master DB
        Dim myCommand As String //to store the sql command to be executed
        myCommand = "CREATE database my_db" //the command that creates new database
        Dim cmd As SqlCommand = New SqlCommand(myCommand, myConnectionString) // creating command for execution
        Try
            cmd.Connection.Open() //open a connection with cmd
            cmd.ExecuteNonQuery() //Execute the query
            cmd.Connection.Close() //Close the connection
        Catch
            MsgBox(" Already installed database", MsgBoxStyle.Critical, " MaS InfoTech- Warning")
        End Try
        //Creating table to the dynamicaly created database
        Try
            Dim cn As SqlConnection = New SqlConnection("Data Source=(local)\SQLEXPRESS;Initial Catalog=my_db;Integrated Security=True;Pooling=False")
          //here the connection string is initialized with Initial Catalog as my_db
            Dim sql As String //sql query string
            sql = "CREATE TABLE customer(cus_name varchar(50) NULL,address varchar(50) NULL,mobno numeric(18, 0) NULL,tin varchar(50) NULL,kg varchar(50) NULL)"
            cmd = New SqlCommand(sql, cn) // create command with connection and query string 
            cmd.Connection.Open()
            cmd.ExecuteNonQuery()
            cmd.Connection.Close()
          Catch
           MsgBox(" Already installed database", MsgBoxStyle.Critical, " MaS InfoTech- Warning")
          End Try
    End Sub
Share:
17,335
Coder92
Author by

Coder92

Updated on June 05, 2022

Comments

  • Coder92
    Coder92 almost 2 years

    I am creating a vb .net winform project that uses a sql server 2008 database. I have the project more or less finished but I want to tweak it a bit. One of the tweaks is as follows. I have created the database within sql server 2008 but I am wondering how do I go about programmatically creating the database within the vb .net project. I have searched the internet on this matter but nothing is clear enough for me. Do I create the database within the opening form or do I create it in a separate class and call it in the other forms I am using the database in? Any help with this matter would be greatly appreciated.