[英]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.