Вставка записей с помощью простого и параметризованного запроса-C# SQL

ВСТАВИТЬ СТРОКУ В ТАБЛИЦУ

Ключевое слово INSERT INTO используется для вставки записей в таблицу. Существует 2 способа вставки записей в таблицу.

  1. Вставка с помощью простого запроса
  2. Вставка с использованием параметризованного запроса

Прямая вставка записи в таблицу

Это самый простой способ вставить записи в таблицу, но я настоятельно избегаю его, потому что он менее безопасен, чем параметризованный запрос.

    INSERT INTO table_name (column1, column2, column3, ...)
    VALUES (value1, value2, value3, ...);

или

    INSERT INTO table_name
    VALUES (value1, value2, value3, ...);

    using System;
    using System.Data.SqlClient;
     
    namespace InsertRecords
    {
        class Program
        {
            static void Main(string[] args)
            {
                SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True");
                string query = "INSERT INTO Products (Name,Price,Date) VALUES('LED Screen','$120','27 January 2017')";           
                SqlCommand cmd = new SqlCommand(query, con);
                try
                {
                    con.Open();
                    cmd.ExecuteNonQuery();
                    Console.WriteLine("Records Inserted Successfully");
                }
                catch (SqlException e)
                {
                    Console.WriteLine("Error Generated. Details: " + e.ToString());
                }
                finally
                {
                    con.Close();
                    Console.ReadKey();
                }
            }
        }
    }

 

ПАРАМЕТРИЗОВАННЫЙ ЗАПРОС

Мы всегда предпочитаем использовать параметризованный запрос вместо простого SQL-запроса, потому что он предотвращает атаки SQL-инъекции. Вот пример программирования, в котором вы можете узнать, как использовать параметризованный запрос в C# SQL.

    
using System;
    using System.Data.SqlClient;
     
    namespace InsertRecords
    {
        class Program
        {
            static void Main(string[] args)
            {
                SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True");
                //Replaced Parameters with Value
                string query = "INSERT INTO Products (Name, Price, Date) VALUES(@Name, @Price, @Date)";           
                SqlCommand cmd = new SqlCommand(query, con);
                
                //Pass values to Parameters
                cmd.Parameters.AddWithValue("@Name", "USB Keyboard");
                cmd.Parameters.AddWithValue("@Price", "$20");
                cmd.Parameters.AddWithValue("@Date", "25 May 2017");
     
                try
                {
                    con.Open();
                    cmd.ExecuteNonQuery();
                    Console.WriteLine("Records Inserted Successfully");
                }
                catch (SqlException e)
                {
                    Console.WriteLine("Error Generated. Details: " + e.ToString());
                }
                finally
                {
                    con.Close();
                    Console.ReadKey();
                }
            }
        }
    }

 

КОПИРОВАНИЕ ОДНОЙ ТАБЛИЦЫ В ДРУГУЮ ТАБЛИЦУ

В большинстве случаев вам нужно скопировать данные одной таблицы в другую таблицу. В этом примере я покажу вам, как скопировать таблицу в SQL. 
Здесь я создал еще один элемент таблицы,который будет содержать скопированные данные из таблицы PRODUCTS.

    INSERT INTO Items(Column1,Column2,Column3) SELECT Column1,Column2,Column3 FROM Products
    using System;
    using System.Data.SqlClient;
     
    namespace InsertRecords
    {
        class Program
        {
            static void Main(string[] args)
            {
                SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Initial Catalog=ComputerShop;Integrated Security=True");
                //Replaced Parameters with Value
                string query = "INSERT INTO Items(Name,Price,Date) SELECT Name,Price,Date FROM Products";           
                SqlCommand cmd = new SqlCommand(query, con);            
                try
                {
                    con.Open();
                    cmd.ExecuteNonQuery();
                    Console.WriteLine("Records Inserted Successfully");
                }
                catch (SqlException e)
                {
                    Console.WriteLine("Error Generated. Details: " + e.ToString());
                }
                finally
                {
                    con.Close();
                    Console.ReadKey();
                }
            }
        }
    }
Обновлено: 04.01.2020 — 09:43

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.