Guardar contenido de dataGridView en base de datos SQL Server, C#
HTML-код
- Опубликовано: 7 фев 2025
- Dale like a la imagen de este link por favor (Es para un concurso):
www.facebook.c...
Como guardar el contenido de un dataGridView en C# en una base de datos (tabla) en SQL Server.
SUSCRIBETE: goo.gl/94bKcb
Proyecto Completo: goo.gl/rza3pd
------------------------------------------------------------------------------------------------
Otros de mis Videos que Podrian Interesarte:
Sumar valores de un datagridview en C#: goo.gl/ZeeSCe
Como crear vistas en SQL Server: goo.gl/5an9ab
Validar solo numeros y letras en C#: goo.gl/sdnDdx
------------------------------------------------------------------------------------------------
Sigueme en:
Twitter: / israelmontoya19
Google+: goo.gl/XuWMUq
------------------------------------------------------------------------------------------------
Tags:
guardar contenido datagridview base de datos
guardar contenido datagridview sql server
guardar contenido datagridview en tabla
guardar contenido datagridview base de datos c#
guardar contenido datagridview sql server c#
guardar contenido datagridview base de datos vb.net
guardar contenido datagridview sql server vb.net
datagridview base de datos
datagridview base de datos c#
datagridview base de datos vb.net
datagridview tabla
datagridview tabla c#
datagridview tabla vb.net
datagridview tabla sql server c#
datagridview sql server c#
datagridview tabla sql server vb.net
datagridview sql server vb.net
datagridview sql c#
datagridview sql vb.net
datagridview sql
guardar datos de datagridview
guardar datos de datagridview c#
guardar datos de datagridview vb.net
guardar datos de datagridview en base de datos
guardar datos de datagridview en tabla
guardar datos de datagridview en sql server
guardar datos de datagridview en sql
guardar contenido de datagridview
guardar contenido de datagridview c#
guardar contenido de datagridview vb.net
guardar contenido de datagridview en base de datos
guardar contenido de datagridview en sql server
guardar contenido de datagridview en sql
guardar contenido de datagridview en tabla
exactamente lo que andaba buscando, mas de 3 meses buscando este video
Muchas gracias, por impartir esto, fue de mucha ayuda
Te amo bro, justo lo que necesitaba
Exelente uso de ese metodo, no lo habia pensado, gracias bro.
amigo si fuese a actualizar, aparte del sqlcommand, que mas cambiaría? gracias
Super chingon!! gracias amigo me sirvió mucho..
Gracias amigo, no sabes como me ayudo tu video, espero sigas subiendo más y así aprender mas personas como yo. Saludos.
amigo y si lo que quiero es que despues de agregar los datos a sql y al datagridview sea eliminar cualquiera de las filas tanto de sql como del datagridview?
q genio .. maestro. muchas gracias, llevaba tiempo buscando algo asi :D
Muy buen vídeo mi hermano, gracias por todo me funcionò super bien.
Gracias por el video... y encontré la forma de que no se agregue la ultima linea vacía, en la función del botón agregar colocar
dataGridView1.AllowUserToAddRows = fase; así de esta forma cuando se guardan los datos del dataGrid elimina la linea vacía y se guardan los datos en forma correcta en la base de datos.
eso es correcto amiga,... muchas gracias por el aporte,... saludos
Buen tutorial, lo adapte a .NET y me funciono.
podrias ayudarme a adaptarlo a .net?
Comparte :c
Exelente explicacion muchas gracias y sigue a si
Hola Israel, tengo una duda con respecto a rellenar automaticamente un datagridview, ¿puedo enviarte un correo con mi duda?
hola no se si podrias ayudarme mi caso es este: tengo una ventana donde tengo dos botones uno es para importar un archivo csv y despues de que lo importa aparece en un datgridview ahora necesito q todos los datos del archivo csv los guarde en una base de datos. probe tu codigo y no me marca error pero no me guarda nada. no se que hacer :( estoy trabajando con c# y postgresql espero puedas ayudarme porfavor.
muy buen video, gracias me ayudo harto para capturar datos de columnas especificas (Y)
8 años despues me sirvio el video
Hola amigo sabes que me guarda solo una fila no todo lo que aparece en el datagridview.
Like y suscripcion.!! ojala tengas mas material tan bueno como esto.
gracias amigo me sirvio mucho
sale error al agregar el metodo "cells" . Me podrias ayudar por favor
la base de datos necesita tener un procedimiento?,osea en sql
....
por cuestiones de seguridad si, te recomiendo que cuando apliques este metodo utilices un procedimiento donde le tengas que enviar los parametros a este
en este caso como fue solo para mostrar como hacerlo no me vi en la necesidad de crear uno
Como sería el procedimiento almacenado?
Gracias si funciona pero lo use de otra manera :D saludos !!
Gracias, me ha servido demasiado esta parte, solo un detalle. En los registros me agrega el valor de la ultima fila del gridView que esta vacio. ¿Qué puedo hacer?
para que no la agregue eso lo muestro en el video tambien, todo lo que tienes que hacer es en las propiedades del datagridview especificamente en "AllowUserAddToRows = false" eso es todo.
Disculpa la tardanza en contestar, estaba en un viaje de estudios. Saludos y sigueme en twitter y suscribete :)
estas usando prodecimiento almacenado?
am no, se muestra claramente que uso un insert directamente en el codigo
Hola !
Está bueno el video. Yo estoy trabajando con procedimientos almacenados. Me gustaria saber como realizar éste proceso en una tabla de detalle de venta. Que por cada articulo que agregue a la venta, me lo registre en SQL. Me entendés? O sea que cada Fila que agregue, sea un id_detalledeventa nuevo. No lo puedo lograr hacer
ya lograste hacerlo?
@@juanfranciscoreyesperez Si ya me recibí jaja. Gracias igual el vídeo es buen aporte
Israel y cómo puedo modificar datos?
Buenas tardes Israel, me sale el siguiente error: ¨"The name "row" does not exist in the current context. Me puedes ayudar?
agregar.Parameters.Clear();
agregar.Parameters.AddWithValue("@nombre", Convert.ToString(row.Cells["Nombre"].value));
si no te sale esa opcion es porque no estas usando la clase DataGridViewRow en el foreach
Seria mas interesante que hagas capas mantenimiento de los datos de la base de datos desde C#.
Hola como estas muy bien tu video, estaba buscando ese tipo de ejemplo, tengo una duda y si quisiera actualizar algunos datos de esa misma tabla desde el datagrid, como lo podria hacer espero que me puedas ayudar gracias
+Yendri Mojica mira si intentas agregar de nuevo o actualizar mediante ese mismo foreach, lo que haria el codigo seria insertarte nuevamente todas las filas que tenga el DGV dejando las que habias insertado previamente, para actualizar la tabla debes eliminar previamente los datos que contiene la tabla, nada mas crea un procedimiento en una clase aparte o ahi mismo para eliminar los datos de la tabla y lo agregas antes dentro del try pero antes del foreach, no te paso el codigo porque ya no lo tengo, lo siento, espero te sirva mi explicacion
+Israel Sistemas hola es que tengo una tabla con 10 campos a la cual le he ingresado registros anteriormente, en un form tengo un datagrid a la cual importó un archivo de excel q contiene una información en 4 columnas donde una es donde están las llaves PK, y quiero actualizar los campos donde corresponde esas PK, con los datos del datagrid... he buscado información y no he dado para hacer la actualización
+Israel Sistemas bueno voy a probar cambiando tu sentencia de insert por la de update para ver como me va gracias
disculpa no poder ayudarte amigo, intenta eso y me dices si te funciono, lamentablemente no tengo todas las respuestas aunque quiera ayudar :/
hola lo hice de esta forma pero cuando le doy al boton actualizar me dice que no se actualizo
SqlConnection cn = new SqlConnection("Data Source=VAMIMOJICA\\SQLEXPRESS;Initial Catalog=Sconcert;Integrated Security=True");
cn.Open();
try
{
string query =@"update comercial set Fec_desti =@fecha, Nomb_quien_recibe =@nombre, Telefono_quien_recibe =@telef,
fec_gestionT = CAST(GETDATE() AS DATETIME), Cod_usugestionT = " + Global.codigo + " where No_Guias =@llave";
SqlCommand Actualizarcomer = new SqlCommand(query, cn);
foreach (DataGridViewRow row in dgvacturec.Rows)
{
Actualizarcomer.Parameters.Clear();
Actualizarcomer.Parameters.AddWithValue("@llave", Convert.ToString(row.Cells[0].Value));
Actualizarcomer.Parameters.AddWithValue("@fecha", Convert.ToString(row.Cells[1].Value));
Actualizarcomer.Parameters.AddWithValue("@nombre", Convert.ToString(row.Cells[2].Value));
Actualizarcomer.Parameters.AddWithValue("@telef", Convert.ToString(row.Cells[3].Value));
Actualizarcomer.ExecuteNonQuery();
}
MessageBox.Show("Datos Actualizados");
}
catch (Exception ex)
{
MessageBox.Show("Error al Actualizar");
}
voy a seguir intentando
Muy bueno,Tengo un problema hago todo y me va bien pero siempre guarda tantas veces presione el botón guardar lo mismo en la base de datos ,como se haría para que no guarde lo mismo que ya esta guardado
donde haces el sqlcommand para insertar, puedes hacer uno para borrar toda la informacion existente en la tabla que estes usando, para de esa forma asegurarte que la tabla siempre este vacia y nunca se repitan los registros n veces
Muchas gracias por responder, lo termine haciendo con el Sqlcommandbuild y Update ^^
estoy intentado guardar fecha y hora pero me sale error de tipo de dato al pasarla como Convert.ToDateTime.
tienes que tener en cuenta muchos factores, si en tu base de datos tienes el tipo de dato, Date o DateTime, en caso de que lo tengas Date(En la base de datos) utilizas este codigo Convert.ToString(dateTimePicker1.Value.ToString("yyyy/dd/MM")) Suerte bro!
@@DanielReyes-fz1yr amigo en donde se coloca esa linea de codigo?
Che Israel todo bien pero no me aparece el dataGridView1, donde lo creaste??
jaja me dio risa el comentario, el dataGridView1 solo es un elemento que arrastre previamente
Pero a mi no me aparece, por qué a vos si y a mi no ? Es injusto jajajaj Necesito ayuda
jaja como que no te aparece?, en el lado izquierdo deberian aparecerte todos los componentes de Windows Forms, solo busca un dataGridView
No esta, ya fue, me rindo!
Hola como estas? no pude guardar los datos, segui todos los pasos pero me dice el mensaje "Error al agregar" por favor cual puede ser el inconveniente?
Fabian Fabiani necesitaria revisar tu codigo, si fueras tan amable de ponerlo aqui en un comentario
Israel Sistemas Hola Israel , aca esta el código :using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace GuardarEnSql
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
SqlConnection conexion = new SqlConnection (@"Data Source=FABIANI\SQLEXPRESS;Initial Catalog=DomotiTest;Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False");
private void Form1_Load(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
try
{
SqlCommand agregar = new SqlCommand("insert into Autores values (@IDAUTOR, @Nombre)", conexion);
conexion.Open();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
if (row.Cells["Column1"].Value != null)
{
agregar.Parameters.Clear();
agregar.Parameters.AddWithValue("@IDAUTOR", Convert.ToString(row.Cells["Column1"].Value));
agregar.Parameters.AddWithValue("@Nombre", Convert.ToString(row.Cells["Column2"].Value));
agregar.ExecuteNonQuery();
}
}
MessageBox.Show("Datos agregados");
}
catch (Exception ex)
{
MessageBox.Show("Error al agregar");
}
finally
{
if(conexion.State == ConnectionState.Open)
conexion.Close();
}
}
}
}
Fabian Fabiani Resolvi el problema era necesario colocar el nombre de la columna de la base de datos entes del comando VALUES y luego si el parámetro
SqlCommand agregar = new SqlCommand("insert into Autores(IDAUTO, Nombre) values (@IDAUTOR, @Nombre)", conexion);
conexion.Open();
Ahora Quisiera saber como hago para mostrar los valores guardados cuando abro el programa o agrego datos ocea mostrar la tabla actual dentro de la misma datagridview
gracias bro!
(me sale el mensaje del try catch (algo salio mal) ayuda por favor
private void button2_Click(object sender, EventArgs e)
{
SqlCommand Guardar = new SqlCommand("Insert into Usuarios values (@Nombre, @Apellido, @Edad)", conexion);
conexion.Open();
try
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
Guardar.Parameters.Clear();
Guardar.Parameters.AddWithValue("@Nombre", Convert.ToString(row.Cells["Nombre"].Value));
Guardar.Parameters.AddWithValue("@Apellido", Convert.ToString(row.Cells["Apellido"].Value));
Guardar.Parameters.AddWithValue("@Edad", Convert.ToString(row.Cells["Edad"].Value));
Guardar.ExecuteNonQuery();
}
MessageBox.Show("Esto es una prueba");
}
catch (Exception)
{
MessageBox.Show("Salio malll");
}
finally
{
conexion.Close();
}
}
} private void button2_Click(object sender, EventArgs e)
{
SqlCommand Guardar = new SqlCommand("Insert into Usuarios values (@Nombre, @Apellido, @Edad)", conexion);
conexion.Open();
try
{
foreach (DataGridViewRow row in dataGridView1.Rows)
{
Guardar.Parameters.Clear();
Guardar.Parameters.AddWithValue("@Nombre", Convert.ToString(row.Cells["Nombre"].Value));
Guardar.Parameters.AddWithValue("@Apellido", Convert.ToString(row.Cells["Apellido"].Value));
Guardar.Parameters.AddWithValue("@Edad", Convert.ToString(row.Cells["Edad"].Value));
Guardar.ExecuteNonQuery();
}
MessageBox.Show("Esto es una prueba");
}
catch (Exception)
{
MessageBox.Show("Salio malll");
}
finally
{
conexion.Close();
}
}
}
hola amigo buenas tardes, de casualidad me podrias ayudar con este mismo ejemplo pero para visual basic.net, necesito hacer algo similar para un proyecto que me solicitaron, pero veo que este ejemplo lo realizaste en csharp, te agradezco de antemano, saludos.
disculpa la tardanza en contestar, lamentablemente tengo mucho trabajo en la escuela, pero si aun te sirve tengo un video de este mismo proyecto en vb.net
Amigo una disculpa apenas vi mi correo y vi tu mensaje en verdad una disculpa, pero excelente video, espero siguas subiendo muchos más, saludos.
por que en la variable row.cell["Colum1"].Value;
no me reconoce el .cells ????
.Cells
si no lo reconoce es porque no estas usando este objeto en tu foreach "DataGridViewRow",
Hola amigo, buen tutorial, pero seria posible que subieras nuevamente el código del proyecto, ya que lo quitaron y esto es lo que estoy necesitando porque lo digite a la par con vos y me salen errores y no se como arreglarlo. Te agradezco.
+Grupo MM lamentablemente ya no cuento con ese proyecto asi que no puedo subirlo de nuevo, pero si quieres mandame un screenshot con el codigo que tienes y otro con el error que te marca a mi correo " israelsistemas1@gmail.com " y te ayudo, te parece?
que version de sql server usas
+dcro633 en el momento en que grabe el video usaba SQL Server 2008, actualmente uso 2012
+Israel Sistemas gracias , otra pregunta como hago para agregar desde el datagridview si utilizo una clase donde van todas las operaciones sql osea no hago la conexion desde el form sino utilizo una clase aparte ya que al momento de utilizar los parameters no me los llama.
y en capas como seria?
alguin me puede decir, o como puedo hacerle para que si los datos ya estan insertados en la base de datos ya no los inserte.
+JAVIER MEDR no tengo el codigo amigo, pero tendrias que recorrer cada uno de los datos del datagrid e ir comparandolos con cada uno de los que tienes en la base de datos (tipo metodo de la burbuja) y cuando un dato del DGV haya recorrido toda la tabla de la base de datos y no se haya topado ningun dato igual entonces que se inserte, en caso contrario que se omita, y asi sucesivamente para cada uno de los campos que tengas en el DGV
+Israel Sistemas masomenos como seria amigo :O aun no eh podido me marca algunos errores. :/
Buena noche Israel buenísimo ya te di tu like y me subscribi ahora bien me puede ayudar como hago para realizar búsqueda dentro del mismo datagriview sin utilizar otro control ayuda por favor me puede escribir lo ante posible.
mm para eso necesitas si o si un textBox
Israel Sistemas No sin textnox osea en la misma celda del datagrid
me entiende que es lo que le quise decir como hacer la busqueda
mm si entiendo, seria un filtro de todo el grid o explicate un poco mejor, asi lo entiendo yo
Israel Sistemas Si por ejemplo tengo un datagrid pra una factura y quiero buscar un articulos o producto por el codigo y cuando digite el codigo en la celda del codigo y presione la tecla enter me traiga la descripcion, el precio, y el impuesto
hola amigo. has 1 video igual para editar. por favor
estaria genial un tuto pero con mysql server amigo, eso te daria mas creditos :) saludos...
+Efrain Gómez recien lo hice amigo jaja, pero ya lo subi y ya puedes verlo :)
+Israel Sistemas geniaaal, lo veré..
no me sale, este es mi boton:
private void button1_Click(object sender, EventArgs e)
{
Conexion.Open();
SqlCommand agregar = new SqlCommand("INSERT INTO PEDIDO VALUES(@[NOMBRE ENTRADA], @[NOMBRE SEGUNDO], @[NOMBRE POSTRES], @[NOMBRE BEBIDAS], @PRECIO)", Conexion);
try
{
foreach (DataGridViewRow rowss in dgwOrden.Rows)
{
agregar.Parameters.Clear();
agregar.Parameters.AddWithValue("@[NOMBRE ENTRADA]", Convert.ToString(rowss.Cells["Nombre"].Value));
agregar.Parameters.AddWithValue("@[NOMBRE SEGUNDO]", Convert.ToString(rowss.Cells["Nombre"].Value));
agregar.Parameters.AddWithValue("@[NOMBRE POSTRES]", Convert.ToString(rowss.Cells["Nombre"].Value));
agregar.Parameters.AddWithValue("@[NOMBRE BEBIDAS]", Convert.ToString(rowss.Cells["Nombre"].Value));
agregar.Parameters.AddWithValue("@PRECIO", Convert.ToString(rowss.Cells["Precio"].Value));
agregar.ExecuteNonQuery();
}
MessageBox.Show("Datos Agregados");
}
catch(Exception ex)
{
MessageBox.Show("Error al hacer pedido"+ex);
}
finally
{
Conexion.Close();
}
}
encuentras algun error. Urgente Gracias
+Marko Vallejos Contreras Cual es el mensaje de error?
link caido. Favor reload. Gracias amigo buen aporte
smith
radhames
wawawa