[英]Error when trying to retrieve from database
我从 XSD 模式生成了三个类:
public partial class PathDetailsMessage {
private MessageHeader messageHeaderField;
public MessageHeader MessageHeader {
get {
return this.messageHeaderField;
}
set {
this.messageHeaderField = value;
}
}
}
public partial class MessageHeader {
private Recipient recipientField;
public Recipient Recipient {
get {
return this.recipientField;
}
set {
this.recipientField = value;
}
}
}
public partial class Recipient {
private string valueField;
public string Value {
get {
return this.valueField;
}
set {
this.valueField = value;
}
}
}
当我尝试将 id 的值(数据库中的一个字符)放入 medusa.MessageHeader.Recipient.Value 时,我收到一个错误(见下文):
if (dr.HasRows)
{
dr.Read();
medusa.MessageHeader.Recipient.Value = Convert.ToString(dr["id"]);
dr.Close();
}
我收到以下错误:
System.NullReferenceException: 'Object reference not set to an instance of an object.' PathDetailsMessage.MessageHeader.get returned null.
我使用以下 SQL 字符串:
string sqlString = "SELECT id FROM view_otf WHERE id LIKE '%079%'";
id 列是数据库中的 CHAR。
我想不出这个问题的解决方案。
你能帮助我吗?
谢谢你。
LE :这 3 个类在同一个.cs 文件中。
LE2 :美杜莎是一个 object 从 PathDetailsMessage.cs 文件中初始化,class 是从 XSD 模式创建的
PathDetailsMessage medusa = new PathDetailsMessage();
我们缺少美medusa
初始化代码,但你应该这样做:
medusa.MessageHeader = new MessageHeader {
Recipient = new Recipient()
};
medusa.MessageHeader.Recipient.Value = Convert.ToString(dr["id"]);
这是因为像PathDetailsMessage
这样的 class 的初始化不会为MessageHeader
属性设置任何值,该属性将为 null。 这同样适用于Recipient
属性。 因此,通过上述初始化,您将拥有一些 object 来存储值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.