ASP.NET2.0给了我们一个好处,那就是只要添加一个sqldatasource就可以通过指定updatecommand或者deletecommand语句,结合gridview实现无后台代码的编辑功能。但很多时候,会有意想不到的问题发生,比如标题所示的exception:
Must declare the variable '@Rid' exception
如果你确信你的代码写得没有问题,那么这里需要考虑的因素有三点:
一,数据库中是否设置了 【主键】
二,是否为sqldatasource指定了DeleteParameters,UpdateParameters这些参数,同时是否为绑定这一数据源的gridview指定了DataKeyNames
三,是否作过数据库平台的转换工作,比如是否将数据库从ACCESS换成了SQL SERVER2000。若作了数据库平台的转换而又没有将与数据库相关的对象进行转换,那么也将产生标题所示的exception:
也就是说如果数据库从ACCESS换成了sql server2000,那么后台与数据库相关的操作代码中的oledb.oledbdataconnection这些东西都应该换成对应的sql版本,比如oledb.oledbdataconnection对应的sql版本为sqlclient.sqldataconnection
其他一些内容可参考:http://www.microsoft.com/china/msdn/library/webservices/asp.net/us0501DataPoints.mspx