一个己问了许多次的问题.我还是不能解决呀.帮下吧.大虾们.
我用一dataset存放了从数据库中读出的一个表.然后在一个FORM上建上许多textbox用于显示从dataset中读出的记录各项.并且我把各textbox与各项进行了数据绑定.同时也想通过这个form对数据库的表进行插入,修改,删除操作.当我插入一个新记录时,只能写到我内存中的dataset中,而不能插入到我的数据库中.(我用了update操作)同时,会修改我内存中的其他记录.比如说:当在显示记录A之后,进行了插入记录B操作,会把dataset中A与B两条记录修改成一样.那位大虾帮我了答一下.我把代码给出了.
rivate void button2_Click(object sender, System.EventArgs e)
{
if(button2.Text!="确定")
{textBox1.Text="";
this.label12.Text="?/?";
textBox1.Text+=(this.BindingContext[productdataset.Tables["product"]].Count)+1;
temp=textBox1.Text;
textBox2.Text="";textBox3.Text="";textBox4.Text="";textBox5.Text="";textBox6.Text="";textBox7.Text="";textBox8.Text="";textBox9.Text="";textBox10.Text="";//把所有的textbox清空.
button1.Enabled=false;button3.Enabled=false;button5.Enabled=false;button6.Enabled=false;button7.Enabled=false;button8.Enabled=false;button2.Text="确定";
}
else
{
DataRow dm=productdataset.Tables["product"].NewRow();//定义一新行.
productdataset.Tables["product"].Rows.Add(dm);
CurrencyManager tem=(CurrencyManager)BindingContext[productdataset];
tem.Position=(this.BindingContext[productdataset.Tables["product"]].Count)-1;
try
{//进行负值.
dm["productid"]=temp;
dm["productname"]=textBox2.Text;dm["productsorport"]=textBox3.Text;
dm["prodecttype"]=textBox4.Text;dm["prodectsigl"]=textBox5.Text;dm["prodectrice"]=textBox6.Text;
dm["stordnumber"]=textBox7.Text;
dm["addnumber"]=textBox8.Text;
dm["addaginnumber"]=textBox9.Text;dm["stopornot"]=textBox10.Text;
sqlConnection2.Open();
DataSet dt=productdataset.GetChanges();
sqlDataAdapter1.Update(dt);
productdataset.AcceptChanges();
sqlConnection2.Close();
this.label12.Text=(this.BindingContext[productdataset.Tables["product"]].Position+1)+"/"+(this.BindingContext[productdataset.Tables["product"]].Count);
button1.Enabled=true;button3.Enabled=true;button5.Enabled=true;button6.Enabled=true;button7.Enabled=true;button8.Enabled=true;button2.Text="插入";}
catch(Exception d)
{MessageBox.Show(d.Message,"错误");}