发布时间:2022年04月15日 04:25:39分享人:虎牙梨涡星星眼来源:互联网2
DataSet数据集,数据缓存在客户端内存中,支持断开式连接.DataGridView控件绑定DataSet时,它自动的改变的DS的行的状态,而且在做增删改查的时候,可以借助SqlCommandBuilder类来完成.SqlCommandBuilder必须执行SELECT命令来检索元数据,所以它要求多往返服务器一次,从而增加了应用程序的开销,而且操作的表必须要有主键约束。优点是自动建立insertcommand等命令1,添加操作private voidbutton2_Click(object sender, EventArgs e) { using (SqlConnection con = newSqlConnection(connstring)) { con.Open(); dapt = newSqlDataAdapter("select stucode,spcode,ctcode,stunits from stunits",con); SqlCommandBuilder sdb = newSqlCommandBuilder(dapt); DataSet ds1= ds.GetChanges(); if(ds.HasChanges()) { try { dapt.Update(ds, "stunit"); MessageBox.Show("保存成功", "提示"); } catch (SqlException ex) { MessageBox.Show(ex.Message); } } } this.dataGridView1.AllowUserToAddRows=false; }2)删除操作(选中整行) private void删除ToolStripMenuItem_Click(object sender, EventArgs e) { using (SqlConnection con = newSqlConnection(connstring)) { //con.Open(); StringBuilder sb =newStringBuilder(); sb.Append("delete stunits wherestucode='"+this.dataGridView1.SelectedCells[0].Value.ToString()+"'"); SqlCommandcmd = new SqlCommand(sb.ToString(), con); dapt.DeleteCommand = cmd; int rowindex =this.dataGridView1.CurrentCell.RowIndex; ds.Tables["stunit"].Rows[rowindex].Delete();//修改行的状态 // string celltext =this.dataGridView1.SelectedCells[rowindex].Value.ToString(); //MessageBox.Show(celltext); if(ds.HasChanges(DataRowState.Deleted)) { try { dapt.Update(ds, "stunit"); MessageBox.Show("删除成功", "提示"); } catch (SqlException ex) { MessageBox.Show(ex.Message); } } } }2)删除操作(单击第一个单无格删除)private void dataGridView1_CellClick(objectsender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 0&& e.RowIndex >=0) { using (conn= new SqlConnection(con)) { conn.Open(); StringBuilder sb = newStringBuilder(); sb.Append("delete zy_bbxmxx where 代码='" +this.dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString()+"'"); //MessageBox.Show(sb.ToString()); dapt.DeleteCommand = newSqlCommand(sb.ToString(), conn); DialogResultanswer = MessageBox.Show("是否删除", "提示", MessageBoxButtons.YesNo,MessageBoxIcon.Exclamation); if (answer ==DialogResult.Yes) { try { ds.Tables[0].Rows[e.RowIndex].Delete();//改变行的状态 dapt.Update(ds, "zy_bbxx"); MessageBox.Show("删除成功"); } catch (SqlException ex) { MessageBox.Show(ex.Message); } } } } } 3)修改操作private void修改ToolStripMenuItem_Click(object sender, EventArgs e) { using (SqlConnection con = newSqlConnection(connstring)) { con.Open(); //DataSetds1 = ds.GetChanges(); dapt = newSqlDataAdapter("select stucode,spcode,ctcode,stunits from stunits",con); SqlCommandBuilder sdb = newSqlCommandBuilder(dapt); if(ds.HasChanges()) { try { dapt.Update(ds, "stunit"); MessageBox.Show("修改成功","提示"); } catch (SqlExceptionex) { MessageBox.Show(ex.Message); } } }或者private void btnEdit_Click(objectsender, EventArgs e) { using (SqlConnection conn=newSqlConnection(con)) { DataSet ds1 =ds.GetChanges();//得到修改后的DataSet if (ds1 !=null) { try { dapt = new SqlDataAdapter("select * fromzy_bbxmxx", conn); SqlCommandBuilder sb = newSqlCommandBuilder(dapt); dapt.Update(ds,"zy_bbxx"); MessageBox.Show("修改成功"); } catch (ArgumentNullExceptionex) { MessageBox.Show(ex.Message); } } } }4)查询操作private voidtextBox5_TextChanged(object sender, EventArgs e) { this.dataGridView2.DataSource= ds.Tables[1]; DataView dv =ds.Tables[1].DefaultView; dv.RowFilter = "stucode like '" + '%' + this.textBox5.Text + '%' + "'"; this.dataGridView2.DataSource =ds.Tables[1]; }
爱华网本文地址 » http://www.413yy.cn/a/25101015/254482.html
更多阅读
写在前面的话:本人从事摄影记者职业16年,以下文字是多年来工作经验的积累,从摄录一体机的基本操作运用的角度撰写,很多定义可能与理论书籍不符,但是较为实用。我们通常说的摄像机其实应该准确的称之为摄录一体机,这里为了就全大家的阅读习
知道股票代码可以方便我们更快的找到对应的股票。并且通过其代码还可以了解到这只股票属于哪一类别的股票。今天写到这个股票代码,重要的也是为一些初学者带来一些相应知识的完善。很多股民,特别是很多刚开始接触股票的股民。大家接
新生儿听力筛查操作指南小儿听力筛选这一概念为Down及Sterrit(1964)提出,应用唤醒(arousal)反应对所有新生儿进行听行为筛选。1972年美国言语听力学会(ASHA)等联合会议推荐对听力高危儿进行筛选,并于1982年认定7项听力高危因素,建议这些高
引子:?1.淘宝自然搜索系统的关键词搜索部分整体遵循AB=BA=AB=B A,也就是关键词的位置颠倒或者加空格是不会影响搜索结果的,但是由于服务器是有“关键词库”这个概念,所以会对关键词做优先类目属性匹配。例如:“皮带手表”“手表皮带”
一、DataGridView控件的用法(如何绑定、修改其中某一列值、添加序号列、交换任意2列显示顺序)1.DataGridView绑定数据源。在页面上拖放一个DataGridView控件//连接数据库读取数据,为DataGridView赋值。String strConn = "server= .XWPC