Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.06.2012, 12:00   #1
SaNeKBF
Пользователь
 
Аватар для SaNeKBF
 
Регистрация: 17.12.2010
Сообщений: 35
По умолчанию Передача значений Массив А = Массив Б

Загружаю данные из БД и присваиваю значения массиву.
Внутри цикла присваеватеся нормально. Читаю данные из масива за цыклом.
У каждого индекса массива одни и теже значения

Код:
namespace RabotaBDannik
{
    public partial class Form1 : Form
    {
        public Target target = new Target();
        public Target[] ToTarget;

        public class Target
        {
            public string KoordX;
            public string KoordY;
            public string KoordZ;
            public string Time;
        }
Код:
        private void button1_Click(object sender, EventArgs e)
            //Загрузка базы данных в листбокс
        {
            const string tabl_name = "Табл"; //имя таблицы из базы данных
            const string Constr = "Data Source=db.mdb;provider=Microsoft.Jet.OLEDB.4.0";
            using (var con = new OleDbConnection(Constr))
            {

                const string StrSelect = "SELECT * FROM " + tabl_name;
                var da = new OleDbDataAdapter(StrSelect, con) { UpdateCommand = new OleDbCommand("UPDATE "+tabl_name+" SET Город = @Город " + "WHERE Код = @Код", con) };

                var table = new DataTable();
                da.Fill(table);
                int i = 0;
                ToTarget = new Target[100];
                foreach (DataRow dataRow in table.Rows)
                {
                    this.listBox1.Items.Add("a№ " + Convert.ToString(i) + " "
                        + dataRow[1].ToString() + " " 
                        + dataRow[2].ToString() + " " 
                        + dataRow[3].ToString() + " " 
                        + dataRow[4].ToString() + " ");


                    target.KoordX = dataRow[1].ToString(); ;
                    target.KoordY = dataRow[2].ToString();
                    target.KoordZ = dataRow[3].ToString();
                    target.Time = dataRow[4].ToString();

                    ToTarget[i] = target;

                    listBox1.Items.Add("b№ " + Convert.ToString(i) + " "
                        + ToTarget[i].KoordX + " "
                        + ToTarget[i].KoordY + " "
                        + ToTarget[i].KoordZ + " "
                        + ToTarget[i].Time + " ");
                    i++;

                }
                for (int ent = 0; ent < 4; ent++)
                {
                    listBox1.Items.Add("c№ " + Convert.ToString(ent) + " "
                            + ToTarget[ent].KoordX + " "
                            + ToTarget[ent].KoordY + " "
                            + ToTarget[ent].KoordZ + " "
                            + ToTarget[ent].Time + " ");
                    
                }
            }
        }
Вложения
Тип файла: rar RabotaBDannik.rar (77.5 Кб, 5 просмотров)

Последний раз редактировалось SaNeKBF; 27.06.2012 в 12:02.
SaNeKBF вне форума Ответить с цитированием
Старый 27.06.2012, 14:09   #2
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

все верно отрабатывает=) у вас же ссылка на один и тот же обьект в массиве
например так
Код:
foreach (DataRow dataRow in table.Rows)
                {
                    var target=new Target();

                    target.KoordX = dataRow[1].ToString();
Reskov вне форума Ответить с цитированием
Старый 27.06.2012, 15:40   #3
SaNeKBF
Пользователь
 
Аватар для SaNeKBF
 
Регистрация: 17.12.2010
Сообщений: 35
По умолчанию

Вот я чайник )
Одной строки не хватало. Сам бы не догадался. Мыслил по другому. Спасибо

Последний раз редактировалось SaNeKBF; 27.06.2012 в 15:53.
SaNeKBF вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Передача указателей на массив в функцию. nibir Общие вопросы C/C++ 14 06.07.2011 13:24
Передача аргумента (массив) / 8086 coNsept Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 12.04.2011 21:13
Передача указателя на массив в функцию loser Общие вопросы C/C++ 2 19.02.2010 19:41
Перепись значений в массив указателей. Джед Общие вопросы C/C++ 9 28.05.2009 18:12