У меня есть приложение, которое я сделал с помощью PowerShell, которое получает информацию из базы данных SQL для различных элементов управления.Мой «Вид», иногда будет работать отлично.Но если я закрою приложение и снова открою, одна и та же вещь может дать разные результаты.Я установил PS для запуска от имени администратора, но опять та же проблема.Представление должно прочитать результаты 1971 года и выглядеть как
#ASP.Net Client Ugrade
C# Client Upgrade
Another Basic Project Name
Однако, хотя иногда это работает правильно ... вывод, который я получаю, когда решает не загружаться правильно, равен
#ASP.Net Client Ugrade
1971
void Open(), void IDbConne
Я не уверен, почему он добавляет информацию о свойствах вместо запрашиваемых значений.Также не уверен, почему результаты иногда бывают правильными, а иногда и неправильными, при том же поведении (просто запустив программу, окно заполняется при загрузке).Соответствующий код для того, как я выбираю и заполняю данные:
[string[]]$projectsAll = "" #I only do it this way because the sql query is actually in a method, were I return the array-and then do the foreach item in the array add to the projectview
$query = "select Title from OversightProjectsFix where ID > 0 Order By Title"
if ($sqlcon.State -eq 'Closed'){$sqlcon.Open()}
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $query
$SqlCmd.Connection = $sqlcon
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$ds = New-Object System.Data.DataSet
$SqlAdapter.Fill($ds)|out-null
foreach ($Row in $ds.Tables[0].Rows)
{
$projectsAll += "$($Row.Title)"
}
$ProjectView.Items.Clear()
foreach ($p in $projectsAll)
{
$ProjectView.Items.Add($p)
}
Как я упоминал ранее, если этот код выполняется, вы всегда должны получать одинаковые результаты, но этот возвращается по-разному, и я 'я не уверен почему?Как я могу сделать так, чтобы это всегда работало?