在做日志的时候,遇到了一个难题, 即如何判断操作是否成功,比如说,一个添加操作,虽然点击了"添加"按钮,但究竟有没有插入到数据库中还不知道,怎么做日志呢?(日志中必须记录操作的状态----即操作是否成功),请问各位你们是怎么做的,最好留下源代码,谢谢!
比如:
private void Button1_Click(object sender, System.EventArgs e)
{
    SqlParameter[] Params=new SqlParameter[14];
    Params[0]=new SqlParameter ("@XXDM",XXDM.SelectedValue );
    Params[1]=new SqlParameter ("@FBDM",FBDM .SelectedValue );
    Params[2]=new SqlParameter ("@NJ",NJ .SelectedValue );
    Params[3]=new SqlParameter ("@BH",BH .SelectedValue );
    DBM dbm = new DBM (connectionString);
    dbm.ExecuteStoredProcedure ("insertJLXXB",Params);
    //添加日志
    log.AddLog();
    //添加日志
}
怎么知道操作成功没有呢?

解决方案 »

  1.   

    通过ExecuteStoredProcedure这个方法返回影响的行数来确定啊。或者通过其他返回值也可以。
      

  2.   

    首先执行完新增操作后再执行以下操作,按照返回flag的值判断是否完成操作...
                                try
    {
    c.getCn().Open();
    SqlDataReader sdr = scom.ExecuteReader();
    if(sdr.Read())
    {
    int num = sdr.GetInt32(0);
    if(num>0)
    {
    flag = true;
    }
    }
    }
    catch
    {
    flag = false;
    }
    finally
    {
    c.getCn().Close();
    }
    return flag;
      

  3.   

    DBM是你自己写的吧??
    如果你是用System.Data.OleDb.OleDbDataReader或System.Data.SqlClient.SqlDataReader的话..
    可以在操作后查看其RecordsAffected属性
      

  4.   

    try
    {
    //插入动作
    Response.write("success!");
    }
    catch(Exception ex)
    {
    Response.write(ex.message.tostring());
    }
    //楼主,你这是捡分的题
      

  5.   

    在你录入数据的存储过程最后写一个返回值return 1
    然后执行存储过程
    SqlCommand cmd = new SqlCommand();
    一些连接等不写了
    然后使用cmd.ExecuteNonQuery();
    return (int)cmd.Parameters["ReturnValue"].Value;//得到返回值
    如果返回值为1,表示成功了,否则不成功
      

  6.   

    写成一函数.返回类型为bool ,成功返回true ,或者返回false
      

  7.   

    我没有见过SQL Server上insert命令执行完,没有错误抛出但是数据没有插入的。如果是触发器删除了数据,这不算插入失败,只能说数据库业务逻辑就是这么设计的。
      

  8.   

    数据要和判断分开,我的职责是判断,插入数据是别人的事,我不知道他们的是存储过程,还是混合SQL语句,存储过程和混合SQL是别人写的,我不知道他们究竟怎么写,难就难在这里!
      

  9.   

    数据要和判断分开,我的职责是判断,插入数据是别人的事,我不知道他们的是存储过程,还是混合SQL语句,存储过程和混合难就难在这里!
      

  10.   

    1、try..catch判断异常
    2、看程序达到目的没有,达到了就是true啊