c# datagridview,怎么保存修改或新增数据到数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# datagridview,怎么保存修改或新增数据到数据库相关的知识,希望对你有一定的参考价值。
c# datagridview,怎么保存修改的数据或新增数据到数据库?
using System;using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace winform1
public partial class Form3 : Form
public Form3()
InitializeComponent();
private SqlConnection cn;
private SqlCommandBuilder builder;
private SqlDataAdapter da;
private DataSet ds;
//查找事件,点击页面“查找”,
private void butSearch_Click(object sender, EventArgs e)
cn = new SqlConnection("server=.;database=test;uid=sa;pwd=123");
cn.Open();
ds = new DataSet();
SqlCommand cmd = new SqlCommand("select * from Test", cn);
da = new SqlDataAdapter(cmd);
//添加必要的列和主键信息以守成架构
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
builder = new SqlCommandBuilder(da);
da.Fill(ds, "Test");//表名一定不能少哦。。。
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
//更新事件
private void butUpdate_Click(object sender, EventArgs e)
int row = da.Update(ds, "Test");
MessageBox.Show("更新完成" + row + builder.GetUpdateCommand().CommandText);
//插入新记录事件
private void btnInsert_Click(object sender, EventArgs e)
DataRow findRow = ds.Tables[0].Rows.Find("1111");//获取包含指定主键值的行
if (findRow != null)
MessageBox.Show("已有这个记录");
return;
DataRow dr = this.ds.Tables[0].NewRow();
dr["StuId"] = this.texStuId.Text;
dr["StuName"] = this.texStuName.Text;
dr["StuScore "] = "100";
this.ds.Tables[0].Rows.Add(dr);
int row = da.Update(ds, "Test");
MessageBox.Show("添加完成" + row + builder.GetInsertCommand().CommandText);
//删除选中记录
private void btnDelete_Click(object sender, EventArgs e)
ds.Tables[0].Rows[this.dataGridView1.CurrentRow.Index].Delete();
int row = da.Update(ds, "Test");
MessageBox.Show("删除完成" + row + builder.GetDeleteCommand().CommandText);
//查询事件
private void btnSearch_Click(object sender, EventArgs e)
SqlCommand cmd = new SqlCommand("select * from Test where StuId=@StuId", cn);
cmd.Parameters.Add("@StuId", SqlDbType.Char, 8);
cmd.Parameters["@StuId"].Value = this.texId.Text;
da = new SqlDataAdapter(cmd);
ds.Clear();
da.Fill(ds, "Test");
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
参考技术A 在空间里面直接有添加修改、更新按钮的属性,你把他设置为true。让后绑定相应(修改、更新)的事件。
c# datagridview 取消第一列
默认第一列老有一个*和一个箭头,
要怎么取消他了
通过修改DataGridView.RowHeadersVisible属性取消第一列,把此属性设置为true,第一列不再显示。
如下图所示:
DataGridView.RowHeadersVisible 属性
获取或设置一个值,该值指示是否显示包含行标题的列。
属性值
Type: System.Boolean
如果显示包含行标题的列,为 true;否则为 false。默认值为 true。
备注
如果 RowHeadersVisible 属性是 false, ,一行其 Resizable 属性设置为 true 仍可调整大小在用户界面 (UI) 中通过单击鼠标光标要调整大小的行的下边框的任意位置。
示例
this.Controls.Add(dataGridView1);
dataGridView1.ColumnCount = 5;
DataGridViewCellStyle style =
dataGridView1.ColumnHeadersDefaultCellStyle;
style.BackColor = Color.Navy;
style.ForeColor = Color.White;
style.Font = new Font(dataGridView1.Font, FontStyle.Bold);
dataGridView1.EditMode = DataGridViewEditMode.EditOnEnter;
dataGridView1.Name = "dataGridView1";
dataGridView1.Location = new Point(8, 8);
dataGridView1.Size = new Size(500, 300);
dataGridView1.AutoSizeRowsMode =
DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
dataGridView1.ColumnHeadersBorderStyle =
DataGridViewHeaderBorderStyle.Raised;
dataGridView1.CellBorderStyle = DataGridViewCellBorderStyle.Single;
dataGridView1.GridColor = SystemColors.ActiveBorder;
dataGridView1.RowHeadersVisible = false;
dataGridView1.Columns[0].Name = "Release Date";
dataGridView1.Columns[1].Name = "Track";
dataGridView1.Columns[1].DefaultCellStyle.Alignment =
DataGridViewContentAlignment.MiddleCenter;
dataGridView1.Columns[2].Name = "Title";
dataGridView1.Columns[3].Name = "Artist";
dataGridView1.Columns[4].Name = "Album";
// Make the font italic for row four.
dataGridView1.Columns[4].DefaultCellStyle.Font = new Font(DataGridView.DefaultFont, FontStyle.Italic);
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataGridView1.MultiSelect = false;
dataGridView1.BackgroundColor = Color.Honeydew;
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.CellFormatting += new DataGridViewCellFormattingEventHandler(dataGridView1_CellFormatting);
dataGridView1.CellParsing += new DataGridViewCellParsingEventHandler(dataGridView1_CellParsing);
addNewRowButton.Click += new EventHandler(addNewRowButton_Click);
deleteRowButton.Click += new EventHandler(deleteRowButton_Click);
ledgerStyleButton.Click += new EventHandler(ledgerStyleButton_Click);
dataGridView1.CellValidating += new DataGridViewCellValidatingEventHandler(dataGridView1_CellValidating);
参考技术A 楼上的朋友没有理解好楼主的题目的意思!
你好,我可以帮你解决这个问题。
其实很简单!
在datagridview属性列表里面有个RowHeadersVisible这样的属性,默认是true的,你设置成false就ok啦。。
RowHeadersVisible属性的意思就是要不要显示头列~也就是第一列!
ok解决了!要采纳啊。本回答被提问者和网友采纳 参考技术B 设置第一列的visible属性为false
以上是关于c# datagridview,怎么保存修改或新增数据到数据库的主要内容,如果未能解决你的问题,请参考以下文章
急!在datagridview中修改或增加数据,单击按钮能将写入的数据保存到数据库里?求C#源代码,谢谢交个朋友
c#中 datagridview单击选中一行数据,点修改按钮,跳转到另外一个窗体并显示数据,修改保存
winform中dataGridView上怎么修改、保存数据啊,急用啊?