事务问题----比较急

pengweihua 2004-11-23 05:05:09
我有两个表,一个主表T1,另外是从表T2,
因为客户有要求不能写存储过程,数据库是Oracle,对Oracele不太熟
主表和从表建有外键,我在作事务时,无法INSERT从表,因为找不到主表的值

请大家怎么解决
...全文
240 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
qqqdong 2004-11-24
  • 打赏
  • 举报
回复
因为.net 不支持局部事务回滚??????

不单支持事务,而且支持两阶段事务
pengweihua 2004-11-24
  • 打赏
  • 举报
回复
>>> goody9807()

net 对oracle不支持事务处理嵌套的语法
pengweihua 2004-11-24
  • 打赏
  • 举报
回复
就是这个意意
ag1978 2004-11-24
  • 打赏
  • 举报
回复
大家可能误会楼主了。

楼主说:“主表和从表建有外键,我在作事务时,无法INSERT从表,因为找不到主表的值”

所以请大家回答他怎样获得主表的值就行了。


我的做法是:不采用自动编号列来解决这种问题。
  • 打赏
  • 举报
回复
.Net支持事务啊。
象你做插入删除的,这种事务比较简单吧。

MSDN:ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataSqlClientSqlConnectionClassBeginTransactionTopic3.htm
李天平 2004-11-24
  • 打赏
  • 举报
回复

给你一个我自己写的执行事务的一个方法,两个sql语句,分别两个insert语句,同时执行就是了

public static void ExecuteSqlTran(string SQLString1,string SQLString2)
{
using (SqlConnection conn = new SqlConnection(strDBConnectionString))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection=conn;
SqlTransaction tx=conn.BeginTransaction();
cmd.Transaction=tx;
try
{
cmd.CommandText=SQLString1;
cmd.ExecuteNonQuery();
cmd.CommandText=SQLString2;
cmd.ExecuteNonQuery();
tx.Commit();
}
catch(System.Data.SqlClient.SqlException E)
{
tx.Rollback();
throw new Exception(E.Message);
}
}
}
goody9807 2004-11-24
  • 打赏
  • 举报
回复
http://blog.csdn.net/goody9807/articles/138813.aspx
pengweihua 2004-11-24
  • 打赏
  • 举报
回复
>>>.因为.net 不支持局部事务回滚??????(net 和oracle)

不单支持事务,而且支持两阶段事务(是在同一事务里面)
Netmark 2004-11-23
  • 打赏
  • 举报
回复
up
talenty 2004-11-23
  • 打赏
  • 举报
回复
up...
pengweihua 2004-11-23
  • 打赏
  • 举报
回复
>>>主从表情况,插入首先要插入主表,后插入从表!
删除首先要删除从表,后删除主表!

我是把它作在同一事务里面,要同时成功,要么同时失败
因为.net 不支持局部事务回滚
  • 打赏
  • 举报
回复
把你的语句贴回来,看看,直接用Sql语句是可以的。
rustical 2004-11-23
  • 打赏
  • 举报
回复
主从表情况,插入首先要插入主表,后插入从表!
删除首先要删除从表,后删除主表!
pengweihua 2004-11-23
  • 打赏
  • 举报
回复
对,T2说违反了xxx约束,t1 和 t2有外建约束,但insert t1 和insert t2时,在同一事务里面
tonybaobao 2004-11-23
  • 打赏
  • 举报
回复
能否具体些?
如果你插入T2说违反了xxx约束,那就是你数据的问题啊,并非方法的问题。
不写存储过程,那么你就用ADO.NET的事务,一样可以的。只要你的SQL语句正确,业务逻辑正确,那一步一步做下去应该是不可能有问题的。

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧