я нуждаюсь в помощи в, как ВВОДИТЬ данные о 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();
}
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;
Я надеюсь, что он ты помогает.
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;
}
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;
}