此代码生成和空引用异常。异常发生在初始化参数数组的行上。会有什么问题呢?我不知道如何跟踪堆栈跟踪并在其上处理任何逻辑。提前谢谢。
DAL dal = new DAL();
string SQL = @"INSERT INTO Assets ([AssetName],[AssetType],[Model],[Description],
[PurchaseValue],[SalvageValue],[Currency],[DateAcquired,[DateRetire],[ImagePath],
[InUse])
VALUES (?,?,?,?,?,?,?,?,?,?,?)";
OleDbParameter[] par = new OleDbParameter[]{
new OleDbParameter("@assetname",name.Text),
new OleDbParameter("@assettype",assettypes.SelectedValue.ToString()),
new OleDbParameter("@model",model.Text),
new OleDbParameter("@description",description.Text),
new OleDbParameter("@purchasevalue",purchaseval.Value),
new OleDbParameter("@salvagevalue",salvageval.Value),
new OleDbParameter("@currency",currencies.SelectedIndex),
new OleDbParameter("@dateacquired",purchasedate.Value),
new OleDbParameter("@dateretire",purchasedate.Value.AddYears((int)lifetime.Value)),
new OleDbParameter("@imagepath","N/A"),
new OleDbParameter("@addedby",MDIParent1.User.ID)
};发布于 2009-01-17 01:26:53
您可能有一个或多个可以为空的类型(可能是您的日期?)它没有值,尽管也可能没有SelectedValue。检查调试器中语句前的所有参数是否都非空,以了解哪些参数是非空的。
发布于 2009-01-17 01:27:48
似乎最有可能的是,您正在查询的某个对象为空。
我建议将它们打印为标准输出。
发布于 2009-01-17 01:33:28
其中一行包含空引用:
new OleDbParameter("@assetname",name.Text),
new OleDbParameter("@assettype",assettypes.SelectedValue.ToString()),
new OleDbParameter("@model",model.Text),
new OleDbParameter("@description",description.Text),
new OleDbParameter("@purchasevalue",purchaseval.Value),
new OleDbParameter("@salvagevalue",salvageval.Value),
new OleDbParameter("@currency",currencies.SelectedIndex),
new OleDbParameter("@dateacquired",purchasedate.Value),
new OleDbParameter("@dateretire",purchasedate.Value.AddYears((int)lifetime.Value)),
new OleDbParameter("@imagepath","N/A"),
new OleDbParameter("@addedby",MDIParent1.User.ID)看看调试器中的属性值,对于您提供的代码,我们真的无能为力。
https://stackoverflow.com/questions/452613
复制相似问题