Pasar datos de datagridview c# a mysql
Necesito ayuda tengo 4 texbox con los cuales llego un datagridview como hago para guardar los datos cargados al datagridview en una bd en mysql
1 Respuesta
http://www.codeproject.com/Articles/43438/Connect-C-to-MySQL
Sería mejor que guardaras los datos de los TextBox antes de cargarlos al DataGridView.
Slds.
Listo así mismo lo hice ahora a ver si me ayudas con otra cosa como hago para mostar un dato de my bd mysql en un texbox
Utiliza el 'SELECT' para obtener datos, y el 'WHERE' cuando sea un (o varios) registro en específico.
Nuevamente yo ya logre mostrarlo en untexbox pero solo me trae el valor del primer registro como hago si tengo varios registro.
Realmente quiero contar los registro de mi tabla y al tener el total sumarle uno para así crear un numero de orden no se si me expique por eso es que quiero recorrer mi bd y mostrar cuantos registro tengo
// Para obtener el total de registro de la tabla SELECT Count(*) FROM tabla // Para obtener el máximo valor de una columna SELECT MAX(columna_id) FROM tabla
Agradecido con tu ayuda pero aun tengo una duda te muestor mi código con el cual sin haber aplicado la ayuda que me diste en la consulta me mostraba en el texbox el valor del primer registro ahora que aplique lo del maxid me dice que La columna 'id_articulos' no pertenece a la tabla y en mi tablña si existe la columna id_articulos
int x, y;
string c;
MySqlConnection cn;
string actas;
actas = txt_nacta1.Text;
MessageBox.Show(actas);
cn = Bdcomun.ObtenerConexion();
MySqlDataAdapter da = new MySqlDataAdapter("SELECT MAX(id_articulos) FROM tbl_articulos ", cn);
DataTable dt = new DataTable();
da.Fill(dt);
// this.dataGridView1.DataSource = dt;
// DataSet ds = new DataSet();
string contador;
string kopr = dt.Rows[0]["id_articulos"].ToString();//guardo informacion en variables
contador = kopr;
MessageBox.Show(contador);
return;
donde tienes "string kopr = dt.Rows..." cambia el "id_articulos" por el número 0, para indicar que se obtenga el valor de la primera fila y columna de la tabla, porque la consulta no te trae una columna llamada "id_articulos"...
¡Gracias! Muchísimas gracias me ha ayudado mucho espero no se moleste si me surge una duda y le pregunta ya que me a respondido muy rápido excelente ayuda
Buenas nuevamente yo por aquí estoy haciendo un delete de mi tabla y me genera el siguiente error [Err] 1109 - Unknown table 'txt_fecha' in MULTI DELETE pensando que era error en el código probé el query directamente en la tabla y sigue el error el query que estoy usando es el siguiente
DELETE txt_nacta, txt_fecha,txt_centrohipico, txt_direccion, txt_encargado, txt_cedula, txt_tlflocal, txt_tlfcelular, txt_autoriza, txt_envia, txt_recibe FROM tbl_actas where id_acta = 5
jejeje indagando un poco encontre la solucion lo hice de esta manera
DELETE tbl_actas, tbl_articulo from tbl_actas, tbl_articulo WHERE tbl_actas.txt_nacta = 2 and tbl_articulo.txt_nacta1 = 2
puedes darme en indicarme con un sistema de login lo intente con con una consulta similar al datatable pero nada
Realiza una consulta con los datos indicados por el usuario, y si te devuelve una fila es porque corresponden con algún usuario.
SELECT * FROM Users WHERE User=@user AND Password=@password
denuvo por aquí me ha servido de gran ayuda tus aportes ahora otra cosa tendrás algún link donde pueda ver como usar itextsharp para generar reporte en pdf
https://imcosta.net/2012/05/itextsharp-reportes-en-net-sin-crystal-report/
Hay varios ejemplo es en la web.
Sabes que use el segundo ejemplo y fino lo estoy generan pero la falla que tengo es que no puedo colocar más filas es decir tengo una sola fila no puedo agregar más filas hacia abajo
Fíjate yo armo el encabezado con 2 columna y 4 celdas las 4 celdas esta en par es decir una fila de dos y abajo de esa fila otra fila de 2 pero hata hay intento añadir otra fila debajo y no puedo o mejor dicho no de
ya solucione ahora dame un indicio de como pasar los datos de un datagrid ya yo paso las variable tipo text pero no se como pasar el datagridview
Pues dependiendo cómo tengas los datos en el DataGridview puedes pasar directamente el DataTable, o un Array multidimensional de String con sus datos.
Estoy usando este código pero al momento de generar el pdf me da el erro "REFERENCIA DE OBJETO NO ESTABLECIDA COMO INSTANCIA DE UN OBJETO" el código es el siguiente
if (dataGridView1.RowCount == 0)
{
MessageBox.Show("No Hay Datos Para Realizar Un Reporte");
}
else
{ //ESCOJE A RUTA DONDE GUARDAREMOS EL PDF
SaveFileDialog save = new SaveFileDialog();
save.Filter = "PDF Files (*.pdf)|*.pdf|All Files (*.*)|*.*";
if (save.ShowDialog() == DialogResult.OK)
{
string filename = save.FileName;
Document doc = new Document(PageSize.A3, 9, 9, 9, 9);
Chunk encab = new Chunk("REPORTE", FontFactory.GetFont("COURIER", 18));
try
{
FileStream file = new FileStream(filename, FileMode.OpenOrCreate);
PdfWriter writer = PdfWriter.GetInstance(doc, file);
writer.ViewerPreferences = PdfWriter.PageModeUseThumbs;
writer.ViewerPreferences = PdfWriter.PageLayoutOneColumn;
doc.Open();
doc.Add(new Paragraph(encab));
GenerarDocumentos(doc);
Process.Start(filename);
doc.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
//Función que genera el documento Pdf
public void GenerarDocumentos(Document document)
{
//se crea un objeto PdfTable con el numero de columnas del dataGridView
PdfPTable datatable = new PdfPTable(dataGridView1.ColumnCount);
//asignamos algunas propiedades para el diseño del pdf
datatable.DefaultCell.Padding = 1;
float[] headerwidths = GetTamañoColumnas(dataGridView1);
datatable.SetWidths(headerwidths);
datatable.WidthPercentage = 100;
datatable.DefaultCell.BorderWidth = 1;
//DEFINIMOS EL COLOR DE LAS CELDAS EN EL PDF
datatable.DefaultCell.BackgroundColor = iTextSharp.text.BaseColor.WHITE;
//DEFINIMOS EL COLOR DE LOS BORDES
datatable.DefaultCell.BorderColor = iTextSharp.text.BaseColor.BLACK;
//LA FUENTE DE NUESTRO TEXTO
iTextSharp.text.Font fuente = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA);
Phrase objP = new Phrase("A", fuente);
datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER;
//SE GENERA EL ENCABEZADO DE LA TABLA EN EL PDF
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
objP = new Phrase(dataGridView1.Columns[i].HeaderText, fuente);
datatable.HorizontalAlignment = Element.ALIGN_CENTER;
datatable.AddCell(objP);
}
datatable.HeaderRows = 2;
datatable.DefaultCell.BorderWidth = 1;
//SE GENERA EL CUERPO DEL PDF
for (int i = 0; i < dataGridView1.RowCount; i++)
{
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
objP = new Phrase(dataGridView1[j, i].Value.ToString(), fuente);
datatable.AddCell(objP);
}
datatable.CompleteRow();
}
document.Add(datatable);
}
//Función que obtiene los tamaños de las columnas del datagridview
public float[] GetTamañoColumnas(DataGridView dg)
{
//Tomamos el numero de columnas
float[] values = new float[dg.ColumnCount];
for (int i = 0; i < dg.ColumnCount; i++)
{
//Tomamos el ancho de cada columna
values[i] = (float)dg.Columns[i].Width;
}
return values;
}
- Compartir respuesta