You are on page 1of 4

C# DataGridView Database Operations

The DataGridView can display data in Bound mode, unbound mode and Virtual
mode . Bound mode is suitable for managing data using automatic interaction
with the data store. One very common use of the DataGridView control is binding
to a table in a database. Unbound mode is suitable for displaying relatively small
amounts of data that you manage programmatically. Virtual mode gives you a
higher degree of control by allowing you to wait until a cell is actually being
displayed to provide the value it will contain.

The following C# source code illustrate how to connect a DataGridView to a


database and new/update or delete the database values from DataGridView.

Next : Delete row from datagridview by right click

Download Source Code


Print Source Code
using System;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
SqlCommand sCommand;
SqlDataAdapter sAdapter;
SqlCommandBuilder sBuilder;
DataSet sDs;
DataTable sTable;

public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)


{
string connectionString = "Data Source=.;Initial Catalog=pubs;Integrated
Security=True";
string sql = "SELECT * FROM Stores";
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
sCommand = new SqlCommand(sql, connection);
sAdapter = new SqlDataAdapter(sCommand);
sBuilder = new SqlCommandBuilder(sAdapter);
sDs = new DataSet();
sAdapter.Fill(sDs, "Stores");
sTable = sDs.Tables["Stores"];
connection.Close();
dataGridView1.DataSource = sDs.Tables["Stores"];
dataGridView1.ReadOnly = true;
save_btn.Enabled = false;
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}

private void new_btn_Click(object sender, EventArgs e)


{
dataGridView1.ReadOnly = false;
save_btn.Enabled = true;
new_btn.Enabled = false;
delete_btn.Enabled = false;
}

private void delete_btn_Click(object sender, EventArgs e)


{
if (MessageBox.Show("Do you want to delete this row ?", "Delete",
MessageBoxButtons.YesNo) == DialogResult.Yes)
{
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
sAdapter.Update(sTable);
}
}

private void save_btn_Click(object sender, EventArgs e)


{
sAdapter.Update(sTable);
dataGridView1.ReadOnly = true;
save_btn.Enabled = false;
new_btn.Enabled = true;
delete_btn.Enabled = true;
}
}
}

http://csharp.net-informations.com/datagridview/csharp-datagridview-tutorial.htm
private void button1_click(...)
{
using (SqlConnection cnn = new SqlConnection("connection string")) {

string query = "SELECT * FROM PR_Nominados";


SqlCommand cmd = new SqlCommand(query, cnn);

SqlDataAdapter da = new SqlDataAdapter(cmd);


DataTable dt = new DataTable();
da.Fill(dt);

GridView1.DataSource = dt;
GridView1.DataBind();
}

Cargar DataGridView mediante C# y SQL


Server
En esta oportunidad vamos a cargar un DataGrid mediante un DataTable y un DataSet, llenarlo desde una base de datos Sql Server.

Agregamos las librerias para la conexion:

using System.Data;

using System.Data.SqlClient;

// Creamos nuestra cadena para conectarnos a la base de datos

SqlConnection cn = new SqlConnection("Data Source=.\\SQLEXPRESS; Initial Catalog=tuTabla;Integrated Security=true;");

Opcion1:

//Aqui estamos mostrando los datos mediante un DataTable

private void btnCargar_Click(object sender, EventArgs e)

SqlCommand cmd = new SqlCommand("Select * from tuTabla", cn);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataTable dt = new DataTable();

da.Fill(dt);

dataGridView1.DataSource = dt;

cn.Close();

}
Opcion 2:

//Aqui mediante un DataSet

private void btnCargarDataSet_Click(object sender, EventArgs e)

SqlCommand cmd = new SqlCommand("Select * from tuTabla", cn);

SqlDataAdapter da = new SqlDataAdapter(cmd);

DataSet ds = new DataSet();

da.Fill(ds);

dataGridView1.DataSource = ds.Tables[0];

cn.Close();

Existe muchos metodos al momento de querer cargar una datagridview aqui tienen un metodo simple y eficaz que lo carga directamente
desde una tabla.

You might also like