问题描述
我定义了一个数据集类,在另一个窗口中调用了该类,对其中的一个表进行了添加行操作,这些都成功了,但是我想把该表的变化在数据库中进行更新,现在不知道如何在该窗口中调用该表的数据适配器对数据库进行更新,请高手指点,不胜感激!谢谢了!代码如下:namespace数据库试验{publicclassdataset{publicDataSetds(){stringconStr=@"server=(local);"+"IntegratedSecurity=true;"+"database=供热机组运行数据";SqlConnectionsqlConn=newSqlConnection(conStr);sqlConn.Open();stringSQL="select*fromNO1供热机组不同负荷参数表";SqlDataAdapterda=newSqlDataAdapter(SQL,sqlConn);DataSetds=newDataSet();da.Fill(ds,"NO1供热机组不同负荷参数表");returnds;}}}窗口中的部分代码如下;privatevoidbutton1_Click(objectsender,System.EventArgse){datasetds1=newdataset();DataSetds=ds1.ds();DataTabledt=ds.Tables["NO1供热机组不同负荷参数表"];DataRownewRow=dt.NewRow();doublea=1;newRow["D0"]=a.ToString();newRow["dk"]=a.ToString();newRow["aik"]=a.ToString();newRow["atk"]=a.ToString();dt.Rows.Add(newRow);不知道下面的更新数据库的代码该如何写了,不知道如何调用该表的数据适配器}
解决方案
解决方案二:
我的见解:
解决方案三:
这下面是我看“ADONET技术内幕“书后,给你的回复。1。DataSet是专门用来处理脱机数据的,就是说,只要你把数据从数据库中读到DateSet,那么DateSet中的数据就和数据库没有什么联系了,你想要将更新的数据提交给数据库有两种方法:(1)你用SqlDataAdapter的Update()方法----也就是将脱机数据更新的方法(2)你可以在联机(何数据库保持连接的时候)更新,主要是用SqlCommand执行。2。下面主要针对你的情况说一下:接着你的程序来:注意:只要你想想更新数据库,基本上都会调用到Command有关的东西。stringstrSql;stringstrConstrCon=@"server=(local);"+"IntegratedSecurity=true;"+"database=供热机组运行数据";strSql="InsertintoNO1供热机组不同负荷参数表values(@D0,@dk,@aik,@atk)";SqlCommandcmd=newSqlCommand(strSql,strCon);SqlParamterpc=cmd.Paramters;pc.Add("@DO",DbType.Int(注意:这里你原本在数据库定义的什么数据类型,,就写什么类型);下面同理;pc.Add("@dk",DbType.Int(注意:这里你原本在数据库定义的什么数据类型,,就写什么类型);pc.Add("@aik",DbType.Int(注意:这里你原本在数据库定义的什么数据类型,,就写什么类型);pc.Add("@atk",DbType.Int(注意:这里你原本在数据库定义的什么数据类型,,就写什么类型);pc["@DO"].Value=newRow["DO"];下面同理。。。cmd.ExecuteNonQuery;OK完了,就这。上面的代码我没验证,你自己试下希望能帮你向数据库更新是个很大的话题,想了解的多一些,可以给我留言
解决方案四:
感谢汪洋的一番详细讲解,使我对数据库操作有了一定的认识,非常感谢!希望以后的问题能够得到你更多的指教!不知道能否把我加为好友:QQ:185219877笛韵再次感谢你耐心的解答!问题已经解决了!