C# – Datatable insertion in SQL using c#

c++sql

How can we insert the values of datatable in SQL using c#? And the second question is how we can copy the SQL table into datatable variable?

Best Solution

UPDATE: One thing this answer didn't have in the past is links to information for SQL and database newbies, so I will put some relevant links here as well so that you (or anyone else) can brush up on their SQL and other database design skills.


UPDATE 2: Here is an example of filling a datatable:

//Namespace References
using System.Data;
using System.Data.SqlClient

/// <summary>
/// Returns a DataTable, based on the command passed
/// </summary>
/// <param name="cmd">
/// the SqlCommand object we wish to execute
/// </param>
/// <returns>
/// a DataTable populated with the data
/// specified in the SqlCommand object
/// </returns>
/// <remarks></remarks>

public static DataTable GetDataTable(SqlCommand cmd)
{
    try
    {
        // create a new data adapter based on the specified query.
        SqlDataAdapter da = new SqlDataAdapter();

        //set the SelectCommand of the adapter
        da.SelectCommand = cmd;

        // create a new DataTable
        DataTable dtGet = new DataTable();

        //fill the DataTable
        da.Fill(dtGet);

        //return the DataTable
        return dtGet;
      }
      catch (SqlException ex)
      {
          MessageBox.Show(ex.Message);
      }
      catch (Exception ex)
      {
          MessageBox.Show(ex.Message);
      }
  } 

A lot of this is taken from another answer I have written previously, but it goes into detail about your exact issues:

Original Answer:

This sounds like you more or less need a basic introduction to connecting and manipulating a database from C#. The above poster said to look into LINQ to SQL, but you can also look into the more basic underlying framework of ADO.NET which will get you to understand the basics of how it works.

Also, you can use this site right here for a number of different database tutorials for C#.

Edit: More information from C# Station, CodeProject, and Codersource

Edit 2: If you are interested in things like Linq to SQL as others have mentioned above, here are some tutorials from C# Corner, and C-Sharp Online

Edit 3: Others would also suggest things such as the ADO.NET Entity Framework. I would not necessarily suggest this for beginners who still need to grasp the fundamentals of working with a database. Here is some information from the MSDN Overview

Simple Example (This is pulled directly from the C# Station link given above)

Listing 1. Using a SqlConnection

using System;
using System.Data;
using System.Data.SqlClient;

/// <summary>
/// Demonstrates how to work with SqlConnection objects
/// </summary>
class SqlConnectionDemo
{
    static void Main()
    {
        // 1. Instantiate the connection
        SqlConnection conn = new SqlConnection(
            "Data Source=(local);Initial Catalog=Northwind;
             Integrated Security=SSPI");

        SqlDataReader rdr = null;

        try
        {
            // 2. Open the connection
            conn.Open();

            // 3. Pass the connection to a command object
            SqlCommand cmd = 
                new SqlCommand("select * from Customers", conn);

            //
            // 4. Use the connection
            //

            // get query results
            rdr = cmd.ExecuteReader();

            // print the CustomerID of each record
            while (rdr.Read())
            {
                Console.WriteLine(rdr[0]);
            }
        }
        finally
        {
            // close the reader
            if (rdr != null)
            {
                rdr.Close();
            }

            // 5. Close the connection
            if (conn != null)
            {
                conn.Close();
            }
        }
    }
}