关于DataAdaptor.Update的疑问 那样只是更新了dataset中的数据,是内存中的逻辑表,没有更新物理数据库呀DataGrid是直接和数据库连接的,所以修改会同步到数据库的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把textBox中的datasource和dataBinding的两个属性绑定 int row=this.BindingContext[this.thisDataSet,"学生"].Position; string sqlSelect="SELECT 学号,姓名,性别,出生年月 FROM 学生 WHERE 年级="+"'"+Form2.toNew1+"'"+"AND 班级="+"'"+Form2.toNew2+"'"; SqlConnection thisConnection=new SqlConnection(@"Data Source=SERVER;User ID=sa;Password=;Initial Catalog=dx"); thisConnection.Open(); SqlDataAdapter thisAdapter=new SqlDataAdapter(sqlSelect,thisConnection); SqlCommandBuilder thisBuilder=new SqlCommandBuilder(thisAdapter); thisDataSet=new DataSet(); thisAdapter.Fill(thisDataSet,"学生"); this.thisDataSet.Tables["学生"].Rows[row]["姓名"]=textBox1.Text.Trim(); this.thisDataSet.Tables["学生"].Rows[row]["性别"]=comboBox1.Text.Trim(); this.thisDataSet.Tables["学生"].Rows[row]["出生年月"]=textBox2.Text.Trim(); thisAdapter.Update(this.thisDataSet,"学生"); MessageBox.Show("修改成功!"); dataGrid1.DataSource = thisDataSet.Tables["学生"]; this.thisDataSet_PositionChanged(); thisConnection.Close();这是修改例子按钮,在这之前需要对datagrid或者textbox等等控件先进行绑定 dataGrid1.CaptionText=Form2.toNew1+Form2.toNew2; string sqlSelect="SELECT 学号,姓名,性别,出生年月 FROM 学生 WHERE 年级="+"'"+Form2.toNew1+"'"+"AND 班级="+"'"+Form2.toNew2+"'"; SqlConnection thisConnection=new SqlConnection(@"Data Source=SERVER;User ID=sa;Password=;Initial Catalog=dx"); thisConnection.Open(); SqlDataAdapter thisAdapter=new SqlDataAdapter(sqlSelect,thisConnection); SqlCommandBuilder thisBuilder=new SqlCommandBuilder(thisAdapter); thisDataSet=new DataSet(); thisAdapter.Fill(thisDataSet,"学生"); dataGrid1.DataSource = thisDataSet.Tables["学生"]; DataGridTableStyle dgts = new DataGridTableStyle(); dgts.MappingName = "学生"; DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn(); TextCol.MappingName = "学号"; TextCol.HeaderText = "学号"; TextCol.Width = 82; dgts.GridColumnStyles.Add(TextCol); TextCol = new DataGridTextBoxColumn(); TextCol.MappingName = "姓名"; TextCol.HeaderText = "姓名"; TextCol.Width = 82; dgts.GridColumnStyles.Add(TextCol); TextCol = new DataGridTextBoxColumn(); TextCol.MappingName = "性别"; TextCol.HeaderText = "性别"; TextCol.Width = 64; dgts.GridColumnStyles.Add(TextCol); TextCol = new DataGridTextBoxColumn(); TextCol.MappingName = "出生年月"; TextCol.HeaderText = "出生年月"; TextCol.Width = 102; dgts.GridColumnStyles.Add(TextCol); dataGrid1.TableStyles.Add(dgts); textBox1.DataBindings.Add("text",thisDataSet,"学生.姓名"); comboBox1.DataBindings.Add("text",thisDataSet,"学生.性别"); textBox2.DataBindings.Add("text",thisDataSet,"学生.出生年月"); thisConnection.Close();这里有绑定datagrid和textbox的例子代码,注意!我使用的公共的dataset这样上面的更新按钮才有效 在不同窗口传值是出现的神奇问题~~ 多线程中出现的 C#绘图问题 C#报表的问题 C#中怎么把RGB空间的BMP图象转换成灰度图?或者在C#中有这样的函数吗? WINFORM控件取WEB上的值的问题,请教高手们了 请教一个问题,C#图形编程 紧急求救!最近要做一个补丁升级程序,缺乏思路,该怎样构建,请给点提示! 关闭一个进程在C#中如何检测得到! MS Media Encoder SDK视频采集,求教,急 怎样获取点击或按下winform上 [×]按钮时的事件 怎么能判断TcpListener与TcpClient的连接已经关闭
this.thisDataSet.Tables["学生"].Rows[row]["性别"]=comboBox1.Text.Trim();
this.thisDataSet.Tables["学生"].Rows[row]["出生年月"]=textBox2.Text.Trim();
thisAdapter.Update(this.thisDataSet,"学生");
MessageBox.Show("修改成功!"); dataGrid1.DataSource = thisDataSet.Tables["学生"]; this.thisDataSet_PositionChanged(); thisConnection.Close();这是修改例子按钮,在这之前需要对datagrid或者textbox等等控件先进行绑定
string sqlSelect="SELECT 学号,姓名,性别,出生年月 FROM 学生 WHERE 年级="+"'"+Form2.toNew1+"'"+"AND 班级="+"'"+Form2.toNew2+"'"; SqlConnection thisConnection=new SqlConnection(@"Data Source=SERVER;User ID=sa;Password=;Initial Catalog=dx"); thisConnection.Open(); SqlDataAdapter thisAdapter=new SqlDataAdapter(sqlSelect,thisConnection); SqlCommandBuilder thisBuilder=new SqlCommandBuilder(thisAdapter); thisDataSet=new DataSet(); thisAdapter.Fill(thisDataSet,"学生"); dataGrid1.DataSource = thisDataSet.Tables["学生"]; DataGridTableStyle dgts = new DataGridTableStyle(); dgts.MappingName = "学生"; DataGridTextBoxColumn TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "学号";
TextCol.HeaderText = "学号";
TextCol.Width = 82; dgts.GridColumnStyles.Add(TextCol); TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "姓名";
TextCol.HeaderText = "姓名";
TextCol.Width = 82;
dgts.GridColumnStyles.Add(TextCol); TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "性别";
TextCol.HeaderText = "性别";
TextCol.Width = 64;
dgts.GridColumnStyles.Add(TextCol); TextCol = new DataGridTextBoxColumn();
TextCol.MappingName = "出生年月";
TextCol.HeaderText = "出生年月";
TextCol.Width = 102;
dgts.GridColumnStyles.Add(TextCol);
dataGrid1.TableStyles.Add(dgts); textBox1.DataBindings.Add("text",thisDataSet,"学生.姓名"); comboBox1.DataBindings.Add("text",thisDataSet,"学生.性别"); textBox2.DataBindings.Add("text",thisDataSet,"学生.出生年月"); thisConnection.Close();
这里有绑定datagrid和textbox的例子代码,注意!我使用的公共的dataset这样上面的更新按钮才有效