如何在datagridview中修改和删除数据?
usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Da...
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace XSERP
{
public partial class ClientFind : Form
{
public ClientFind()
{
InitializeComponent();
}
private void button5_Click(object sender, EventArgs e)
{
DBOperate dbo = new DBOperate();
try
{
SqlConnection conn = dbo.getConnection();
string SqlStr = "select * from clientbase where 客户名称= '" + textBox1.Text + "'";
if (textBox1.Text == "")//若输入为空
{
MessageBox.Show("请输入客户名称", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
SqlDataAdapter ada = new SqlDataAdapter(SqlStr, conn);
DataSet ds = new DataSet();
ada.Fill(ds);
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误");
}
}
private int rowIndex = 1;
public int getIndex()
{
return rowIndex;
}
private void ClientFind_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“xSERPDataSet1.clientbase”中。您可以根据需要移动或移除它。
this.clientbaseTableAdapter.Fill(this.xSERPDataSet1.clientbase);
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{ }
/* DBOperate dbo = new DBOperate();
SqlConnection conn = dbo.getConnection();
string Str = "delete from clientbase where 客户类别='" + dataGridView1.Rows[rowIndex].Cells[0].Value + "'";
SqlCommand cmd1 = new SqlCommand(Str, conn);
conn.Open();
//SqlDataReader reader = cmd1.ExecuteReader();
// cmd1.ExecuteNonQuery();
*/
}
} 展开
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace XSERP
{
public partial class ClientFind : Form
{
public ClientFind()
{
InitializeComponent();
}
private void button5_Click(object sender, EventArgs e)
{
DBOperate dbo = new DBOperate();
try
{
SqlConnection conn = dbo.getConnection();
string SqlStr = "select * from clientbase where 客户名称= '" + textBox1.Text + "'";
if (textBox1.Text == "")//若输入为空
{
MessageBox.Show("请输入客户名称", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
else
{
SqlDataAdapter ada = new SqlDataAdapter(SqlStr, conn);
DataSet ds = new DataSet();
ada.Fill(ds);
this.dataGridView1.DataSource = ds.Tables[0].DefaultView;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "错误");
}
}
private int rowIndex = 1;
public int getIndex()
{
return rowIndex;
}
private void ClientFind_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“xSERPDataSet1.clientbase”中。您可以根据需要移动或移除它。
this.clientbaseTableAdapter.Fill(this.xSERPDataSet1.clientbase);
}
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{ }
/* DBOperate dbo = new DBOperate();
SqlConnection conn = dbo.getConnection();
string Str = "delete from clientbase where 客户类别='" + dataGridView1.Rows[rowIndex].Cells[0].Value + "'";
SqlCommand cmd1 = new SqlCommand(Str, conn);
conn.Open();
//SqlDataReader reader = cmd1.ExecuteReader();
// cmd1.ExecuteNonQuery();
*/
}
} 展开
5个回答
推荐于2016-06-23 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
可以使用SqlDataAdapter更新命令:
01.public int UpdateData(DataSet ds, string strTblName, string strConn)
02. {
03. try
04. {
05. //创建一个数据库连接
06. SqlConnection conn = new SqlConnection(strConn);
07.
08. //创建一个用于填充DataSet的对象
09. SqlCommand myCommand = new SqlCommand("SELECT * FROM " + strTblName, conn);
10. SqlDataAdapter myAdapter = new SqlDataAdapter();
11. //获取SQL语句,用于在数据库中选择记录
12. myAdapter.SelectCommand = myCommand;
13. //自动生成单表命令,用于将对DataSet所做的更改与数据库更改相对应
14. SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
15. myAdapter.Update(ds, strTblName); //更新ds数据
16.
17. return 0;
18. }
19. catch (Exception err)
20. {
21. throw err;
22. }
23. }
01.public int UpdateData(DataSet ds, string strTblName, string strConn)
02. {
03. try
04. {
05. //创建一个数据库连接
06. SqlConnection conn = new SqlConnection(strConn);
07.
08. //创建一个用于填充DataSet的对象
09. SqlCommand myCommand = new SqlCommand("SELECT * FROM " + strTblName, conn);
10. SqlDataAdapter myAdapter = new SqlDataAdapter();
11. //获取SQL语句,用于在数据库中选择记录
12. myAdapter.SelectCommand = myCommand;
13. //自动生成单表命令,用于将对DataSet所做的更改与数据库更改相对应
14. SqlCommandBuilder myCommandBuilder = new SqlCommandBuilder(myAdapter);
15. myAdapter.Update(ds, strTblName); //更新ds数据
16.
17. return 0;
18. }
19. catch (Exception err)
20. {
21. throw err;
22. }
23. }
展开全部
datashow_1.Rows[0].Cells[7].Value=
这是第0行第7列的数值
可以根据需要去修改
这是第0行第7列的数值
可以根据需要去修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修改的方法
先将datagridview与datatable通过bindingsource绑定
可直接在datagridview中修改,或者修改datatable达到修改datagridview的目的
删除的方法
ArrayList al = new ArrayList();
//讲选择的行的编号保存到al中
foreach (DataGridViewRow dr in dataGridView1.SelectedRows)
{
al.Add(dr.Cells["编号"].Value);
}
//遍历datagridview1的每一行,如果编号等于al中的元素值则删除该行
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
foreach (Object x in al)
{
if (dataGridView1.Rows[i].Cells["编号"].Equals(x))
{
dataGridView1.Rows.Remove(dataGridView1.Rows[i]);
break;
}
}
}
先将datagridview与datatable通过bindingsource绑定
可直接在datagridview中修改,或者修改datatable达到修改datagridview的目的
删除的方法
ArrayList al = new ArrayList();
//讲选择的行的编号保存到al中
foreach (DataGridViewRow dr in dataGridView1.SelectedRows)
{
al.Add(dr.Cells["编号"].Value);
}
//遍历datagridview1的每一行,如果编号等于al中的元素值则删除该行
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
foreach (Object x in al)
{
if (dataGridView1.Rows[i].Cells["编号"].Equals(x))
{
dataGridView1.Rows.Remove(dataGridView1.Rows[i]);
break;
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
模板设置那里可以找到直接拖界面,自己找下吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用datatable保持同步更新
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询