2009-04-27 2 views
2

Как мы можем вставить значения datatable в SQL с помощью C#? И второй вопрос заключается в том, как мы можем скопировать таблицу SQL в переменную datatable?Datatable inserting in SQL using C#

ответ

7

ОБНОВЛЕНИЕ: Одна вещь, которой в прошлом не встречался, это ссылки на информацию для новичков SQL и баз данных, поэтому я также помещу некоторые релевантные ссылки, чтобы вы (или кто-либо еще) на их SQL и другие навыки проектирования баз данных.


ОБНОВЛЕНИЕ 2: Ниже приведен пример того, заполняя 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); 
     } 
    } 

Многое из этого берется из другого ответа я написал ранее, но он идет в подробности о ваших точных вопросов:

Оригинал ответа:

Это звучит, как вы более или менее необходимо базовое введение в подключение и управление базой данных с C#. Вышеупомянутый плакат сказал, чтобы посмотреть в LINQ to SQL, но вы также можете изучить более базовую базовую структуру ADO.NET, которая поможет вам понять основы работы.

Кроме того, вы можете использовать этот сайт right here для нескольких учебных пособий по базе данных для C#.

Редактировать: Больше информации от C# Station, CodeProject и Codersource

Edit 2: Если вы заинтересованы в таких вещах, как Linq для SQL, как уже упоминалось выше, вот некоторые учебники из C# Corner и C-Sharp Online

Редактировать 3: Другие также предложили бы такие вещи, как ADO.NET Entity Framework. Я бы не стал предлагать это для новичков, которым все еще нужно понять основы работы с базой данных. Вот некоторая информация от MSDN Overview

Простой пример (Это вытягивают непосредственно из ссылки # станции С, приведенной выше)

Листинг 1. Использование 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(); 
      } 
     } 
    } 
} 
+0

Клянусь, я получил больше от этого ответа, чем я мог себе представить. Кажется, это творит чудеса. Я должен, вероятно, изменить его немного больше для этого ответа, чтобы он показывал, как заполнять данные. – TheTXI

+0

Ваше терпение перед лицом ослепительного невежества (со стороны OP) является образцовым! Я очень редко нахожу такое терпение во мне. +1 – Cerebrus

+1

Cerebrus: Это сообщение было скопировано/вставлено из предыдущего моего ответа (и добавлен бит для получения данных). Количество работы в этом посте, вероятно, должно быть разделено на количество OP, для которых оно было сделано (что в этом счете похоже ... 4) – TheTXI

2

Для оба из них, вы хотите иметь соответствующий адаптер данных, например SqlDataAdapter.

Предлагаю вам найти хорошую книгу или учебник ADO.NET - она ​​обязательно будет там. В качестве альтернативы, есть статьи MSDN на DataAdapters/DataReaders и Retrieving and Modifying Data in ADO.NET.