也许是我不懂,反正遇到一些奇怪的事情。例如
OleDbCommand upCommand = new OleDbCommand("update Course set name=@CourseName where CourseID=@CourseID",conn);
upCommand.Parameters.Add("@CourseID",OleDbType.Char,10);
upCommand.Parameters.Add("@CourseName",OleDbType.Char,10);
upCommand.Parameters.["@CourseID"].Value = ((TextBox)e.Item.Cells[2]。Controls[0]).Text;
upCommand.Parameters.["@CourseName"].Value = ((TextBox)e.Item.Cells[3]。Controls[0]).Text;
当我在DataGrid修改好数据,总是更新不了。
但是我用
String CourseName = ((TextBox)e.Item.Cells[3]。Controls[0]).Text;
OleDbCommand upCommand = new OleDbCommand("update Course set name='"+CourseName+"' where CourseID=@CourseID",conn);
就可以成功修改。你说这有什么区别阿?真是怪事了。还有,当CourseID里面如果包含有"/"符号,例如如果当CourseID='MIT.B/BIT.C',就修改不了,update语句起不了作用,又不发警告。我感觉比jsp更麻烦,在sql语句报错方面。真是怪事连篇,我要疯掉了。

解决方案 »

  1.   

    可以看看http://www.lepoo.net好了!
      

  2.   

    OleDbCommand upCommand = new OleDbCommand("update Course set name=@CourseName where CourseID=@CourseID",conn);
    upCommand.Parameters.Add("@CourseID",OleDbType.Char,10);
    upCommand.Parameters.Add("@CourseName",OleDbType.Char,10);
    upCommand.Parameters.["@CourseID"].Value = ((TextBox)e.Item.Cells[2]。Controls[0]).Text;
    upCommand.Parameters.["@CourseName"].Value = ((TextBox)e.Item.Cells[3]。Controls[0]).Text;========================
    呵呵.参数要按顺序来的啦!
    OleDbCommand upCommand = new OleDbCommand("update Course set name=@CourseName where CourseID=@CourseID",conn);
    upCommand.Parameters.Add("@CourseName",OleDbType.Char,10).Value = ((TextBox)e.Item.Cells[3]。Controls[0]).Text;
    upCommand.Parameters.Add("@CourseID",OleDbType.Char,10).Value =  ((TextBox)e.Item.Cells[2]。Controls[0]).Text;
      

  3.   

    Page_load()
    {
      if(!Page.IsPostBack)
    {
      绑定事件
    }
    }
      

  4.   

    而且我还惊讶地发现,当@id接受的char比较长,超过10个characters的话,就接收不了,就update或者delete不了记录。微软东西真是垃圾阿!~
      

  5.   

    而且我还惊讶地发现,当@id接受的char比较长,超过10个characters的话,就接收不了,就update或者delete不了记录。微软东西真是垃圾阿!~
    ==============
    那是你的问题,别怪MS吧!
    你设置字段的多少呗,你自己可以调大的嘛..
      

  6.   

    赫赫,不好意思,这个是我一时间看漏了,我还不熟悉使用ASP,刚从jsp转过来。不过,我文章牵头说的问题还是没法解决阿,只能用jsp的方法。
      

  7.   

    而且我看漏了char的长度定义,起码asp也要告诉我长度超过,好让我知道哪里出错阿。而不是出错了,没有任何出错信息,执行了update语句后发现数据库没变才知道有问题。
      

  8.   

    反正微软经常有些古怪的bug让我觉得奇怪。不说ASP了,就说最近的IE6,我经常保存不了某些网页。其他朋友的机子的IE就可以,也有的不可以。
      

  9.   

    还有ItemCommand事件也无法触发。InitializeComponet已经添加了这个事件。