scd.CommandText = "putonghuiyuanupdate('dcl'," + uname + "," + "'" + sex + "'" + "," + "'" + paper_type + "'" + "," + "'" + paperno + "'" + "," + "'" + brithdate + "'" + "," + "'" + email + "'" + "," + "'" + phone + "'" + "," + "'" + addr + "'" + "," + "'" + number + "'" + ")";
          scd.CommandType = CommandType.StoredProcedure;
          int a = scd.ExecuteNonQuery();
存储过程putonghuiyuanupdate是修改数据的,执行了以上的代码后,数据库里的数据没反应,请问要怎么做啊?]
才学习,不懂,各位帮忙啊

解决方案 »

  1.   

    public virtual bool addData(string[] strData)//增加管理员
    {cmd.Connection  =clsConn.myConn;
    cmd.CommandType =CommandType.StoredProcedure;
    cmd.CommandText ="in_admin";
    //姓名
    SqlParameter sprAdminname=new SqlParameter("@adminname",SqlDbType.Char,10);
    sprAdminname.Value =strData[0];
    cmd.Parameters.Add(sprAdminname);
    //密码
    SqlParameter sprAdminpass=new SqlParameter("@adminpass",SqlDbType.Char,30);
    sprAdminpass.Value =symmMe.Encrypto(strData[1]);
    cmd.Parameters.Add(sprAdminpass);
    //权限
    SqlParameter sprAdmintype=new SqlParameter("@admintype",SqlDbType.Int,10);
    sprAdmintype.Value =System.Convert.ToInt16(strData[2]);
    cmd.Parameters.Add(sprAdmintype);
    try
    {
    clsConn.myConn.Open();
    cmd.ExecuteNonQuery();
    clsConn.myConn.Close();
    }
    catch(Exception e)
    {
    MessageBox.Show(e.Message,"错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Error);
    return false;
    }
    catch
    {
    MessageBox.Show("未知错误","错误提示!",MessageBoxButtons.OK,MessageBoxIcon.Error);
    return false;
    }
    finally
    {
    if(DA.clsConn.myConn.State ==ConnectionState.Open )
    DA.clsConn.myConn.Close();
    }
    return true;
    }
    存储过程如下:
    CREATE PROCEDURE in_admin 
    @adminname char(10),
    @adminpass char(30),
    @admintype int
    as
    insert into zxadmin(adminname,adminpass,admintype) values(@adminname,@adminpass,@admintype)
    GO
    你看看这个。看看存储过程参数的传递。
      

  2.   

    楼主先用SQLserver事件探查器,查看执行代码之后到底执行putonghuiyuanupdate 这个存储过程没有?这样才能判断到底是存储过程的问题,还是程序代码的问题
      

  3.   

    两个建议:
    1,存储过程的参数,建议用SqlParameter来传递参数;
    2,对于存储过程不能正常运行,你可以把数据代入后,拿到查询分析器去运行,看是否可以正常工作。