问题描述
用三层结构如何删除一条记录在DAL层这样写对吗?publicintdelectproduct(productionpro){database.production.DeleteOnSubmit(pro);database.SubmitChanges();return1;}在BLL层如何写??????????????
解决方案
解决方案二:
我感觉这样写可以删除方法传递个主键publicvoidDeleteUser(intuserID){varusers=fromuindc.Userswhereu.UserID==userIDselectu;dc.Users.DeleteAllOnSubmit(users);dc.SubmitChanges();}bll层只要传递userID就OK了。请赐教。。。。
解决方案三:
DAL层这样写行吗?publicvoiddelectproduct(stringproductID){varq=fromaindatabase.productionwherea.ProductID=productIDselecta;database.production.DeleteOnSubmit(productID);database.SubmitChanges();return1;}BLL层这样写行吗?publicvoiddelectproduct(stringproductID){returndasebase.delectproduct(productID);}WEB层我是这样写的SupperBLLsupper=newSupperBLL();productionp1=newproduction();p1.ProductID=TextBox1.Text;supper.delectproduct(p1.ProductID);按照上面的告诉我的,可是还是提示错误无法删除尚未附加的实体。
解决方案四:
你这样写,编辑应该过不去的吧,DAL层这样写行吗?publicvoiddelectproduct(stringproductID){varq=fromaindatabase.productionwherea.ProductID==productIDselecta;database.production.DeleteOnSubmit(productID);database.SubmitChanges();return1;--应该去掉吧}你跟踪下看看q中有值吗?BLL层这样写行吗?publicvoiddelectproduct(stringproductID){returndasebase.delectproduct(productID);}WEB层我是这样写的SupperBLLsupper=newSupperBLL();productionp1=newproduction();p1.ProductID=TextBox1.Text;supper.delectproduct(p1.ProductID);没必要这么写吧,这样写不可以?SupperBLLsupper=newSupperBLL();supper.delectproduct(TextBox1.Text.Trim());我技术不是很好,我还不能很准确的看出是哪里抛出的异常,你跟踪下看看撒,我感觉做程序应该学会跟踪。。。谢谢赐教。。。。。
解决方案五:
不要为了分层而分层,学会面向对象(网上看的,忘了原话是什么了)
解决方案六:
引用2楼sunny709的回复:
DAL层这样写行吗?publicvoiddelectproduct(string productID){varq=fromaindatabase.productionwherea.ProductID=productIDselecta;database.production.DeleteOnSubmit(productID);database.SubmitChanges();return1;}BLL层这样写行吗?publicvoid delectproduct(string productID){returndasebase.delectproduct(productID);}WEB层我是这样写的SupperBLLsupper=newSupper…
database.production.DeleteOnSubmit(productID);楼主这句写错了,应该是database.production.DeleteAllOnSubmit(q);去掉return1;这样就通了
解决方案七:
我怎么这么不仔细呢?以后要仔细看帖子了
解决方案八:
引用2楼sunny709的回复:
DAL层这样写行吗?publicvoiddelectproduct(stringproductID){varq=fromaindatabase.productionwherea.ProductID=productIDselecta;database.production.DeleteOnSubmit(productID);database.SubmitChanges();return1;}BLL层这样写行吗?publicvoiddelectproduct(stringproductID){returndasebase.delectproduct(productID);}WEB层我是这样写的SupperBLLsupper=newSupper…
void是没有返回值的。