一个关于LINQ的问题

大卫219 2011-11-11 09:26:23
数据访问层:public static void UpdateUser(string UserID, string UserPassWord, int AuthoritiesID, int DiscountID, string UserName, string Phone, string Adress, Double Integral)
{
DataOnlineDinnerDataContext context = new DataOnlineDinnerDataContext();
try
{
var sql = (from u in context.T_user
where u.UserID ==UserID
select u).SingleOrDefault<T_user>();
sql.UserID = UserID;
sql.UserPassWord =UserPassWord;
sql.AuthoritiesID = AuthoritiesID;
sql.DiscountID = DiscountID;
sql.UserName = UserName;
sql.Phone = Phone;
sql.Adress = Adress;
sql.Integral = Integral;


context.SubmitChanges();
}
catch(Exception ex)
{
throw ex;
}
}
表示层: </asp:DetailsView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
SelectMethod="UseById" TypeName="OnlineDinnerBLL.UserManage"
UpdateMethod="UpdateUser">
<UpdateParameters>
<asp:Parameter Name="userId" Type="String" />
<asp:Parameter Name="UserPassWord" Type="String" />
<asp:Parameter Name="AuthoritiesID" Type="Int32" />
<asp:Parameter Name="DiscountID" Type="Int32" />
<asp:Parameter Name="UserName" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Adress" Type="String" />
<asp:Parameter Name="Integral" Type="Double" />
</UpdateParameters>
<SelectParameters>
<asp:QueryStringParameter Name="userId" QueryStringField="userId"
Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
报的错误是:未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 105: catch(Exception ex)
行 106: {
行 107: throw ex;
行 108: }
行 109: }


源文件: E:\NET2005\AJAX实训\项目\OnlineDinnerDAL\UseServces.cs 行: 107
...全文
107 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
q107770540 2011-11-11
  • 打赏
  • 举报
回复
var sql = (from u in context.T_user
where u.UserID ==UserID
select u).SingleOrDefault<T_user>();
if(sql !=null)
{
//sql.UserID = UserID; 这句没必要
sql.UserPassWord =UserPassWord;
sql.AuthoritiesID = AuthoritiesID;
sql.DiscountID = DiscountID;
sql.UserName = UserName;
sql.Phone = Phone;
sql.Adress = Adress;
sql.Integral = Integral;


context.SubmitChanges();

}
机器人 2011-11-11
  • 打赏
  • 举报
回复
连行号都提示了,还找不到吗?

var sql = (from u in context.T_user
where u.UserID ==UserID
select u).SingleOrDefault<T_user>();

没有这条数据!

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧