代码看不出有什么错误!在更新时传的这些参数的值是正确的吗,会不会是以前的值?
如果是web 应用程序在
if(!IsPostBack)
{
 在这里给txtUserName.....这些赋值.
}

解决方案 »

  1.   

    设置断点,看是否取到值,在查询分析器里测一下
    给你个例子 SqlParameter myParm = cm.Parameters.Add("@dataname", SqlDbType.NVarChar, 7);
    string year=DateTime.Now .Year.ToString ();
    string month=DateTime.Now.Month.ToString () ;
    if(month=="1")
    {
    year=Convert.ToString (Convert.ToInt32 (year)-1);
    month="12";
    }
    else
    { month=Convert.ToString (Convert.ToInt32 (month)-1);}
    if(month.Length ==1)
    month="0"+month; myParm.Value =year+"-"+month ;
    cm.ExecuteNonQuery ();
      

  2.   

    to: 回复人: thinkingforever(努力学习) to: 回复人: yanyzty(yyz)    ------------------------------------值是肯定有的, 我已用下面代码, 测试过了/* 测试, 有数据
    foreach (OleDbParameter p in cmd.Parameters)
    MessageBox.Show(p.Value.ToString());
    */
    回复人: fellowcheng(头都编大了) 
    看过, i = 0
      

  3.   

    这两点都试过了,的确有点闹鬼。
    由于你坚持用 Access, 那么到底后面执行了什么语句也无法获知。 要是 sql server 就能简单的抓到了。
      

  4.   

    private void Page_Load(object sender, System.EventArgs e)
    点击button先执行Page_Load
    断点查看值的变化
      

  5.   

    :)他作的是 WinForm, 不是 WebForm, 也许没有说清楚。 Page_Load 从何谈起。
      

  6.   

    cmd.Parameters["@Name"].value=txtUserName.Text;
    用这个试试呢?我也不知道问题在哪里,不过以前用你那个代码写的时候我也碰到过问题,后来用这种方式写就可以了。原因不知道,我水平也不高哈,你试试看吧^_^
      

  7.   

    to: 回复人: zx_fly(Heero) 
    不能, 没解决问题, 倒使过程参数, 一个都没有
      

  8.   

    你的问题好象出在这里
    cmd.Parameters.Add("@Name", txtUserName.Text.Trim().ToString());
    cmd.Parameters.Add("@Code", txtUserCode.Text.Trim().ToString());
    cmd.Parameters.Add("@id", int.Parse(txtId.Text.Trim().ToString()));
    我感觉应该这样写
    cmd.Parameters.Add("@Name",SqlDbType.NVarChar,40).Value=txtUserName.Text.Trim().ToString());
    cmd.Parameters.Add("@Code",SqlDbType.NVarChar,40).Value=txtUserCode.Text.Trim().ToString());
    cmd.Parameters.Add("@id", SqlDbType.Int).Value=int.Parse(txtId.Text.Trim().ToString()));
      

  9.   

    to : 回复人: 5461339(黑郁金香) ( ) 信誉:100 你方法已试, 我的是access数据库, 把你的 ..., SqlDbType.NVarChar, ...改为      OleDbType.VarChar, 40)我是用vs2003编辑, 在后面输出"."时, 没有选择的菜单(Value), 不懂是为什么, 如果正确的话, 应该有个选择的下拉框
      

  10.   

    没有 Value 的提示是对的, 这个本来就没有。
    就像有的时候你想 .ToString()
    虽然没有, 但是你这么输入是没错的。