Это продолжение моего предыдущего вопроса: Не удалось найти реализацию шаблона запроса
Теперь мне удалось запросить мою базу данных, и я не могу получить контент на моей веб-странице.
Я пытаюсь вернуть код, используя следующий код:
private void button1_Click(object sender, RoutedEventArgs e)
{
Service1Client client = new Service1Client();
client.GetPersoonByIDCompleted += new EventHandler<GetPersoonByIDCompletedEventArgs>(client_GetPersoonByIDCompleted);
client.GetPersoonByIDAsync("1");
}
void client_GetPersoonByIDCompleted(object sender, GetPersoonByIDCompletedEventArgs e)
{
if (e.Error != null)
textBox1.Text = e.Error.ToString();
else
label1.Content = e.Result.Voornaam.ToString();
}
Однако, когда я нажимаю кнопку, я получаю следующие ошибки:
Ссылка на объект не установлена для экземпляра объекта.
в
SilverlightApplication1.MainPage.client_GetPersoonByIDCompleted (Объект
отправитель, GetPersoonByIDCompletedEventArgs e) в
SilverlightApplication1.ServiceReference1.Service1Client.OnGetPersoonByIDCompleted (Объект
состояние)
Странно то, что это работает, когда я не использую LINQ, но обычный SQL.
string sql = "SELECT ID, naam, voornaam, leeftijd FROM tblPersoon WHERE id=@pmID";
Persoon pers = null;
string connstr = ConfigurationManager.ConnectionStrings["connDB"].ConnectionString;
using (SqlConnection cn = new SqlConnection(connstr))
{
SqlCommand com = new SqlCommand(sql, cn);
com.Parameters.AddWithValue("pmID", id);
cn.Open();
SqlDataReader reader = com.ExecuteReader();
if (reader.Read())
{
pers = new Persoon();
pers.ID = reader.GetString(0);
pers.Naam = reader.GetString(1);
pers.Voornaam = reader.GetString(2);
pers.Leeftijd = reader.GetInt32(3);
}
}
return pers;
}
LINQ результат:
Результат SQL:
Спасибо за помощь, я очень ценю это!
Томас