问题描述
这个命令是要完成对一个表的修改。privatevoidalterbtn_Click(objectsender,EventArgse){DataSetds=newDataSet();SqlCommandcmd=newSqlCommand();SqlDataAdaptermyadapter=newSqlDataAdapter(cmd);SqlCommandBuildercomdbuilder=newSqlCommandBuilder(myadapter);DataTablemytable=ds.Tables["student"];DataRowupdaterow;updaterow=mytable.Rows[n];//未将对象引用设置到对象的实例。??????updaterow["sno"]=snobox.Text;updaterow["sname"]=snamebox.Text;updaterow["ssex"]=ssexbox.Text;updaterow["sage"]=sagebox.Text;updaterow["sdept"]=sdeptbox.Text;updaterow["spassword"]=psswdbox.Text;updaterow.EndEdit();myadapter.Update(ds,"student");ds.AcceptChanges();MessageBox.Show("更新成功!");}纠结中。。。请诸位帮帮忙啦。。。谢谢啦。。。我是新手,现在还没分,,,不好意思啦。。。
解决方案
解决方案二:
小弟才疏学浅,不是很懂关于这方面的知识。。。请各位多多指教。。。另希望诸位给些简单些的关于对数据库基本表的删、改、查的代码、、、
解决方案三:
DataTablemytable=ds.Tables["student"];先检查mytable是否为null.再检查updaterow=mytable.Rows[n];看看mytable是否有数据,有的话,有多少行,看看n是不是太大了
解决方案四:
...话说这段代码是啥东东??DataSetds=newDataSet();SqlCommandcmd=newSqlCommand();SqlDataAdaptermyadapter=newSqlDataAdapter(cmd);SqlCommandBuildercomdbuilder=newSqlCommandBuilder(myadapter);神奇啊...
解决方案五:
SqlConnectionconn=newSqlConnection();conn.ConnectionString="DataSource=serverName;InitialCatalog=dbName;UserID=sa;Password=sa";stringsql="select*fromtableName";SqlCommandcommand=newSqlCommand(sql,conn);SqlDataAdapterda=newSqlDataAdapter();da.SelectCommand=command;conn.Open();DataSetds=newDataSet();//使用数据适配器填充数据集da.Fill(ds,"xxx");conn.Close();
解决方案六:
打断点,把mytable.Rows[n]取出来
解决方案七:
DataRowupdaterow;updaterow=mytable.Rows[n];//未将对象引用设置到对象的实例。??????这句代码有意义吗?你先给你updaterow赋了一次值,下面又赋了一次值。想更新的话直接mytable.Rows[n]["sno"]=snamebox.Text;就可以了。
解决方案八:
你要拿myadapter更新数据库,又多出个updaterow有啥用?直接给myadapter赋值就好了吧