当前位置:编程学习 > C#/ASP.NET >>

求教 如何同时执行添加和修改的方法

是这样的
先根据用户ID查询用户的基本信息返回datatable
如果datatable是null
那么执行添加的语句
如果添加成功那么接着进行修改
请问如何实现 --------------------编程问答--------------------
if(DataTable.Rows.count==0)
{
insert into ........
if(ExcValues!=0)
{
update set......
}
}
--------------------编程问答-------------------- 这个需要用事务。
string sql="insert aa(id,username,sex) values(@id,@userName,@Sex);Update aa set userName=@userName,sex=@sex where id=@id";
//连接数据库
 SqlConnection conn=new SqlConnection();
        SqlCommand cmd = new SqlCommand(sql, conn);
        SqlParameter[] param=new SqlParameter[]{
         new SqlParameter("@id",SqlDbType.Int,4,id),
         .........
        };
        cmd.Parameters.AddRange(param);
        cmd.ExecuteNonQuery();
自己在改改 --------------------编程问答--------------------
引用楼主 mq_work 的回复:
是这样的
先根据用户ID查询用户的基本信息返回datatable
如果datatable是null
那么执行添加的语句
如果添加成功那么接着进行修改
请问如何实现

这个不是事务,假如插入成功但是修改失败,是要回滚的 --------------------编程问答-------------------- 用事务。 --------------------编程问答--------------------
引用楼主 mq_work 的回复:
是这样的
先根据用户ID查询用户的基本信息返回datatable
如果datatable是null
那么执行添加的语句
如果添加成功那么接着进行修改
请问如何实现


DataTable dt=XXXX;//获取到返回的datatable
if(dt.Rows.count==0)
{
 //执行添加
}
else{
 //执行修改
}


--------------------编程问答-------------------- using(TransactionScope scope = new TransactionScope())
{
//方法1   
//方法2:   
scope.Complete();
}   
 
--------------------编程问答-------------------- 看错了
添加成功执行修改...
DataTable dt=XXXX;//获取到返回的datatable
if(dt.Rows.count==0)
{
 //执行添加
   int count=XXXX;//添加操作
   if(count>0){//添加成功
    //修改操作
   }else{
    //其他操作
   }
}else{
  //其他操作
}



--------------------编程问答-------------------- 我是这样解决的 添加成功后重新实例化一个datatable2  不知道这样有什么问题吗
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,