Вводить данные о DataTable в таблицу SQL

я нуждаюсь в помощи в, как ВВОДИТЬ данные о DataTable в таблицу SQL код моего DataTable - следующий:

public DataTable dtDetalle = new DataTable("Detalle");

public DataTable filldata()
{
    dtDetalle.Columns.Add("idProducto", Type.GetType("System.Int32"));
    dtDetalle.Columns.Add("Producto", Type.GetType("System.String"));
    dtDetalle.Columns.Add("Cantidad", Type.GetType("System.Int32"));
    dtDetalle.Columns.Add("Precio", Type.GetType("System.Single"));
    dtDetalle.Columns.Add("Total", Type.GetType("System.Single"));
    return dtDetalle;
}

С этим добавил реестры в DataTable

try
    {
        if (Session["dt"] == null)
        {
            DataTable dt = filldata();
            DataRow Row1;
            Row1 = dt.NewRow();
            Row1["idProducto"] = txtProducto.SelectedValue.ToString();
            Row1["Producto"] = txtProducto.SelectedItem.Text.ToString();
            Row1["Cantidad"] = txtCantidad.Text;
            Row1["Precio"] = txtTotal.Text;
            Row1["Total"] = TextBox1.Text;
            dt.Rows.Add(Row1);
            datalistadoDetalle.DataSource = dt;
            datalistadoDetalle.DataBind();
            Session["dt"] = dt;
            dtDetalle = dt;
            limpiarDetalle();
        }
        else
        {
            DataTable dt = (Session["dt"]) as DataTable;
            DataRow Row1;
            Row1 = dt.NewRow();
            Row1["idProducto"] = txtProducto.SelectedValue.ToString();
            Row1["Producto"] = txtProducto.SelectedItem.Text.ToString();
            Row1["Cantidad"] = txtCantidad.Text;
            Row1["Precio"] = txtTotal.Text;
            Row1["Total"] = TextBox1.Text;
            dt.Rows.Add(Row1);
            datalistadoDetalle.DataSource = dt;
            datalistadoDetalle.DataBind();
            Session["dt"] = dt;
            dtDetalle = dt;
            limpiarDetalle();
        }
1
задан 25.04.2017, 08:48
3 ответа

FГ-jate, я искал informaciГіn и это нашел: Табле-Валуед Параметерс in SQL Server 2008 (ADO.NET) английский поэтому я буду стараться делать резюме того, что здесь появляется ввиду языка.

первой, что у тебя должно быть, является таблица в твоем BD SQL, где ты будешь сохранять стоимость с теми же полями твоей даты table, потом ты создаешь store procedure (процедура, хранившаяся в espaГ±ol) следующей формы:

, Если твою таблицу называются dbo.CategoryTabletype

, верьте в store procedure с одним из параметров как следующий:

CREATE PROCEDURE usp_UpdateCategories 
    (@tvpNewCategories dbo.CategoryTableType READONLY)

и потом чтобы вводить, ты должен использовать что-то как это в твоем sp

INSERT INTO dbo.Categories (CategoryID, CategoryName)
    SELECT nc.CategoryID, nc.CategoryName FROM @tvpNewCategories AS nc;

Я надеюсь, что он ты помогает.

1
ответ дан 24.11.2019, 13:45
USE [database_name]
GO
procedimiento almacenado

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[sp_CreateAccount]
    @firstName varchar(200) = NULL,
    @lastName varchar(200) = NULL,
    @email  varchar(200) = NULL,
    @password varchar(200) = NULL,
    @zip varchar(200) = NULL,
    @userStatus  varchar(200) = NULL,
    @createDate datetime = NULL
AS
BEGIN
    SET NOCOUNT ON;
    INSERT INTO ACCOUNT (FirstName,LastName,Email,Password,Zip,UserStatus, CreateDate) VALUES (@firstName,@lastName,@email,@password,@zip,@userStatus,@createDate);
END
////////////////////////////////////

 MetodoDB.Sp_CreateAccount("sp_CreateAccount", "UNKNOW", "UNKNOW", txtMail2.Text.Trim().ToLower (), Sub.EncriptatePass(txtPassword2.Text.Trim()), "0000", "0", DateTime.Now);
//////////////////////////////////////////
     public Object Sp_CreateAccount(String sP, String firstName, String lastName, String email, String password, String zip, String userStatus, DateTime createDate)
        {
            SqlCommand comando = new SqlCommand(sP, Conexion1);
            Object Objeto = new Object();
            try
            {
                comando.CommandType = CommandType.StoredProcedure;
                comando.Connection.Open();
                comando.Parameters.Clear();
                comando.Parameters.AddWithValue("@firstName", firstName);
                comando.Parameters.AddWithValue("@lastName", lastName);
                comando.Parameters.AddWithValue("@email", email);
                comando.Parameters.AddWithValue("@password", password);
                comando.Parameters.AddWithValue("@zip",zip);
                comando.Parameters.AddWithValue("@userStatus", userStatus);
                comando.Parameters.AddWithValue("@createDate", createDate);
                Objeto = comando.ExecuteNonQuery();
                comando.Connection.Close();
            }

            catch (Exception ex) { comando.Connection.Close(); Error = ex.ToString(); }

            return Objeto;
        }
0
ответ дан 24.11.2019, 13:45
  • 1
    Что-то, что как exicaci и # 243; n, которого c и # 243; я говорю, что он делает? Чтобы быть лучшим ответом... – NaCl 02.09.2016, 03:24

FГ-jate этот пример, ты можешь приспосабливать это к твоей необходимости:

public void ObtenerValores(DataTable dt)
{
   foreach(DataRow r in dt.Rows)
    {
      string a =r[0].ToString();
      string b=r[1].ToString();
      Insertar("INSERT INTO  NOBRE_TABLA (NOMBRE_CAMPO_a , NOMBRE_CAMPO_b) VALUES (@par1,@par2)",a,b);
     }
}

 public Boolean Insertar(String SQL, String par1, String par2)
        {
            Boolean r = false;
            SqlCommand comando = new SqlCommand(SQL, TuCadenaDeConexion);

            try
            {
                comando.Connection.Open();
                comando.Parameters.Clear();
                comando.Parameters.AddWithValue("@par1", par1);
                comando.Parameters.AddWithValue("@par2", par2);
                comando.ExecuteNonQuery();
                comando.Connection.Close();
                r = true;
            }

            catch (Exception ex) { comando.Connection.Close(); }

            return r;
        }
0
ответ дан 24.11.2019, 13:45
  • 1
    Что-то проблематичное вводить код здесь. aveces не схватывает правильный формат и появляется как текст. поэтому я прикрепляю изображение – Efrain Mejias C 31.07.2016, 03:47
  • 2
    @EfrainMejiasC издай и в случае потребуй помощи, чтобы его форматировать, все сообщество поддерживает вас: D – fredyfx 01.09.2016, 03:14