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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.03.2017, 15:55   #1
num84num
 
Регистрация: 28.03.2017
Сообщений: 7
По умолчанию ИЗ ListBox в SQL базу.

Здравствуйте! Не могли бы Вы помочь чутка?! Есть проблема с записью в базу данных из ListBox-а. Дело в том, что для записи необходимо 10 значений. если одного не будет, запись в базу не осуществится. Cуть такова:
По WMI выгружаю значения (сведения о рабочих станциях). Значения выгружаю в ListBox.
Из ListBoxa пишу сие в базу данных SQL.
10 значений - записываются нормально, но только в том случае, если имеется одна рабочая станция. Если более одной - не имею понятия как записать сие в базу. Делаю так:
Код:
SqlCommand myCmd = new SqlCommand("INSERT INTO NET_SCAN_ITEMS (SCAN_DATE, SCAN_USER_NAME, NETBIOS_NAME, DOMAIN_NAME, IP_ADDRESS, DATA_TYPE, DEVICE_TYPE, MAC_ADDRESS, MODEL_NAME, SERIAL_NO) VALUES  ('" + Convert.ToDateTime(DateTime.Now)  + "','" 
                        + ListBox2.Items[0] + "','" 
                        + ListBox2.Items[1] + "','" 
                        + ListBox2.Items[2] + "','" 
                        + ListBox2.Items[3] + "','" 
                        + ListBox2.Items[4] + "','" 
                        + ListBox2.Items[5] + "','" 
                        + ListBox2.Items[6] + "','" 
                        + ListBox2.Items[7] + "','" 
                        + ListBox2.Items[8] + "')", connection);
                        connection.Open();
                        SqlDataReader myReader = myCmd.ExecuteReader();
                        connection.Close();
Но если компов больше одного (соотвественно значений в ListBox более 10-ти), не пойму как записать.
Пробовал циклом:
Код:
for (int i = 0; i < ListBox2.Items.Count; i++)
Однако Этот момент не прокатывает ибо SQL не понимает это:
Код:
//for (int i = 0; i < ListBox2.Items.Count; i++)
                    //{
                   // var dat = ListBox1.Items[0];
                         SqlCommand myCmd = new SqlCommand("INSERT INTO NET_SCAN_ITEMS (SCAN_DATE, SCAN_USER_NAME, NETBIOS_NAME, DOMAIN_NAME, IP_ADDRESS, DATA_TYPE, DEVICE_TYPE, MAC_ADDRESS, MODEL_NAME, SERIAL_NO) VALUES  ('" + Convert.ToDateTime(DateTime.Now)  + "','" 
                        + ListBox2.Items[i] + "')", connection);
                        connection.Open();
                        SqlDataReader myReader = myCmd.ExecuteReader();
                        connection.Close();
                    //}
Мало ему VALUE...
Так если делать, тоже VALUE мало...

Код:
if (ListBox1.Items[i].ToString().Contains("Имя:"))
                    {
                        SqlCommand myCmd = new SqlCommand("INSERT INTO NET_SCAN_ITEMS (NETBIOS_NAME) VALUES ('" + ListBox1.Items[i].ToString().Split(':')[1] + "')", connection);
                       
                    }
if (ListBox1.Items[i].ToString().Contains("Компьютерная система:"))
                    {
                        SqlCommand myCmd = new SqlCommand("INSERT INTO NET_SCAN_ITEMS (MODEL_NAME) VALUES ('" + ListBox1.Items[i].ToString().Split(':')[1] + "')", connection);
                   
 
                    }
и тд...

Может кто подскажет как решить сий вопрос, товарищи?
Данные из WMI берутся из разных foreach-ей:
Код:
foreach (ManagementObject mo2 in queryCollection2)
                            {
                                ListBox1.Items.Add("Название:   " + mo2["Caption"] + mo2["OSArchitecture"]);
                                ListBox1.Items.Add("Версия:   " + mo2["Version"] + mo2["CSDVersion"]);
                                ListBox1.Items.Add("Описание:   ");
                            }
                            foreach (ManagementObject m in queryCollection)
                            {
                                ListBox1.Items.Add("Компьютерная система:      " + m["Model"]);
                                var MODEL = m["Model"].ToString();
                                ListBox2.Items.Add(MODEL);
                            }
и тп...

Последний раз редактировалось Alex11223; 28.03.2017 в 16:09.
num84num вне форума Ответить с цитированием
Старый 28.03.2017, 17:36   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
По WMI выгружаю значения (сведения о рабочих станциях). Значения выгружаю в ListBox.
Выгружай в ListView c нужным (=9) число колонок. Заодно и проверишь правильность(полноту) данных.
кажний комп в отдельную строку.

Каждую строку ListView записывай в БД. ( девять колонок в девять полей )
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 29.03.2017, 07:06   #3
num84num
 
Регистрация: 28.03.2017
Сообщений: 7
По умолчанию

Вот спасибо! Так попробую...

Не работал с ListView///Сделал выгрузку в строку в ListBox
Не подскажете как выгрузить данные в строку из разных foreach-ей?
К примеру вот такая конструкция:

Код:
foreach (System.Net.IPAddress ip in ips)
                                foreach (ManagementObject m in queryCollection)
                                {
                                    ListBox1.Items.Add("Время последнего сканирования =" + curDate.ToString("yyyy-MM-dd HH:mm:ss.ms"));
                                    ListBox1.Items.Add("Сканировал:      " + Environment.UserName);
                                    ListBox1.Items.Add("Имя:      " + m["__SERVER"]);
                                    ListBox1.Items.Add("Домен:  " + m["Domain"]);
                                    ListBox1.Items.Add("Пользователь:   " + m["UserName"]);
                                    ListBox1.Items.Add("IP Адрес:   " + ip.ToString());
                                    ListBox1.Items.Add("DATA_TYPE:      0");
                                    ListBox1.Items.Add("DEVICE_TYPE:      6");
                                    //
                                    var SERVER = m["__SERVER"].ToString();
                                    var DOMAIN = m["Domain"].ToString();
                                    //ListBox2.Items.Add(curDate.ToString("yyyy-MM-dd HH:mm:ss.ms")); 
                                    ListBox2.Items.Add(Environment.UserName);
                                    ListBox2.Items.Add(SERVER);
                                    ListBox2.Items.Add(DOMAIN);
                                    ListBox2.Items.Add(ip.ToString());
                                    ListBox2.Items.Add("0");
                                    ListBox2.Items.Add("6");
                                    
                                    var dt = SERVER + ";" + DOMAIN + ";" + ip.ToString();
                                    ListBox3.Items.Add(dt);

                                } 
                            foreach (ManagementObject mo in queryCollection1)
                            {
                                string MACAddress = string.Empty;
                                if (MACAddress == string.Empty)
                                {
                                    if ((bool)mo["IPEnabled"] == true) MACAddress = mo["MacAddress"].ToString();
                                }
Так вот....в одном foreach - е создаю переменную
var dt = SERVER + ";" + DOMAIN + ";" + ip.ToString();
ListBox3.Items.Add(dt);
пихаю в листбокс3
А к примеру mac адрес находится в другом foreach-е
Можно ли его так же в ту же переменную всунуть, а потом уже в листбокс забубенить? К сожалению, пока только начал разбираться, не совсем вкуриваю ситуацию...Подскажите плиз!

______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 29.03.2017 в 09:30.
num84num вне форума Ответить с цитированием
Старый 29.03.2017, 10:33   #4
num84num
 
Регистрация: 28.03.2017
Сообщений: 7
По умолчанию

Общем выкрутился так:

Код:
foreach (ManagementObject m in queryCollection)
                                {
                                    ListBox1.Items.Add("Время последнего сканирования =" + curDate.ToString("yyyy-MM-dd HH:mm:ss.ms"));
                                    ListBox1.Items.Add("Сканировал:      " + Environment.UserName);
                                    ListBox1.Items.Add("Имя:      " + m["__SERVER"]);
                                    ListBox1.Items.Add("Домен:  " + m["Domain"]);
                                    ListBox1.Items.Add("Пользователь:   " + m["UserName"]);
                                    ListBox1.Items.Add("IP Адрес:   " + ip.ToString());
                                    ListBox1.Items.Add("DATA_TYPE:      0");
                                    ListBox1.Items.Add("DEVICE_TYPE:      6");
                                    //
                                    var SERVER = m["__SERVER"].ToString();
                                    var DOMAIN = m["Domain"].ToString();
                                    //ListBox2.Items.Add(curDate.ToString("yyyy-MM-dd HH:mm:ss.ms")); 
                                    ListBox2.Items.Add(Environment.UserName);
                                    ListBox2.Items.Add(SERVER);
                                    ListBox2.Items.Add(DOMAIN);
                                    ListBox2.Items.Add(ip.ToString());
                                    ListBox2.Items.Add("0");
                                    ListBox2.Items.Add("6");

                                    int DATA_TYPE = 0;
                                    int DEVICE_TYPE = 6;
                                   
                                    dt = Environment.UserName + ";" + SERVER + ";" + DOMAIN + ";" + ip.ToString()+ ";" + DATA_TYPE + ";" + DEVICE_TYPE + ";";
                                    ListBox3.Items.Add(dt);
                     
                                } 
                            foreach (ManagementObject mo in queryCollection1)
                            {
                                string MACAddress = string.Empty;
                                if (MACAddress == string.Empty)
                                {
                                    if ((bool)mo["IPEnabled"] == true) MACAddress = mo["MacAddress"].ToString();
                                }
                                mo.Dispose();
                                MACAddress = MACAddress.Replace(":", "");
                                if (MACAddress != "")
                                    ListBox1.Items.Add("MAC Адрес:   " + MACAddress);
                                    ListBox2.Items.Add(MACAddress);
                                for (int j = 0; j < ListBox3.Items.Count; j++)
                                {
                                    var dt2 = ListBox3.Items[j];
                                    ListBox3.Items.Clear();
                                    ListBox3.Items.Add(dt2.ToString() + MACAddress.ToString());

                                }
Но эта фигня работает только если указать одну рабочую станцию...если более одной - записывается(что логично) тока MAC...какая то гадость...
Ну и если сделать так, то вообще ничего не пишется:

Код:
for (int j = 0; j < ListBox3.Items.Count; j++)
                                {
                                    var dt2 = ListBox3.Items[j];
                                    ListBox3.Items.Clear();
                                    foreach (var obj in dt2.ToString())
                                    {
                                    for (int s = 0 ; s < MACAddress.Count(); s ++ )
                                        
                                            ListBox3.Items.Add(obj + MACAddress[s].ToString());
                                        }

                                }

Последний раз редактировалось num84num; 29.03.2017 в 11:00.
num84num вне форума Ответить с цитированием
Старый 29.03.2017, 11:09   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Если основная проблема в
Цитата:
Сообщение от num84num Посмотреть сообщение
Но если компов больше одного (соотвественно значений в ListBox более 10-ти), не пойму как записать.
то лучше не писать напрямую в листбоксы из WMI и из листбоксов в БД.

Листбоксы (и любые другие GUI контролы) предназначены для отображения пользователю, а не для хранения в них данных.

Удобнее сделать какой-то класс (например Workstation или что там у вас) со всеми нужными свойствами.

При загрузке из WMI создавать коллекцию (List<T> и т.п.) из экземпляров этого класса.
То есть сделать функцию типа такой
Код:
List<Workstation> loadWorkstations()
И потом выводить эту коллекцию в листбокс, сохранять в БД и т.п.
Код:
void showWorkstations(List<Workstation> workstations)
Код:
void saveWorkstations(List<Workstation> workstations)

void saveWorkstation(Workstation workstation)
Если пользователь не может их редактировать, то вообще все просто.

Цитата:
Сообщение от num84num Посмотреть сообщение
Мало ему VALUE...
Так если делать, тоже VALUE мало...
Как написано, так и есть. Вывели б строку, которую создали. Вы туда только 1 значение поместили.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 29.03.2017 в 11:12.
Alex11223 вне форума Ответить с цитированием
Старый 29.03.2017, 11:26   #6
num84num
 
Регистрация: 28.03.2017
Сообщений: 7
По умолчанию

Спасибо! Сейчас буду пробовать! А можно просто возвратить переменную из цикла (что то типо return) или обратиться к переменной из одного цикла в другом?
num84num вне форума Ответить с цитированием
Старый 29.03.2017, 13:59   #7
num84num
 
Регистрация: 28.03.2017
Сообщений: 7
По умолчанию

Извиняюсь за тупизну своей тупости. Но не могли бы Вы еще немного помочь?
Не совсем понимаю как все эти foreach-и впихнуть в List
Создал класс, для примера 2 значения.
Код:
}
        public class Workstation {
           public string NETBIOS_NAME;
            public string MAC_ADDRESS;
        }
Далее делаю:
Код:
List<Workstation> LoadWS = new List<Workstation> {
Вот сюда вставляю код - и не выходит счастья.
}
В общем часть кода такова (который отвечает за выборку данных из WMI) (не большой):
Код:
public void Button1_Click(object sender, EventAr          
BLA-BLA-BLA и далее....                       
                            foreach (System.Net.IPAddress ip in ips)
                                foreach (ManagementObject m in queryCollection)
                                {
Environment.UserName;
                                    ListBox1.Items.Add("Время последнего сканирования =" + curDate.ToString("yyyy-MM-dd HH:mm:ss.ms"));
                                    ListBox1.Items.Add("Сканировал:      " + Environment.UserName);
                                    ListBox1.Items.Add("Имя:      " + m["__SERVER"]);
                                    ListBox1.Items.Add("Домен:  " + m["Domain"]);
                                    ListBox1.Items.Add("Пользователь:   " + m["UserName"]);
                                    ListBox1.Items.Add("IP Адрес:   " + ip.ToString());
                                    ListBox1.Items.Add("DATA_TYPE:      0");
                                    ListBox1.Items.Add("DEVICE_TYPE:      6");
                                    var SERVER = m["__SERVER"].ToString();
                                    var DOMAIN = m["Domain"].ToString();                                
                                    //  dt = Environment.UserName + ";" + SERVER + ";" + DOMAIN + ";" + ip.ToString()+ ";" + DATA_TYPE + ";" + DE                                    // ListBox3.Items.Add(dt);

VICE_TYPE + ";";
                                }
                            foreach (ManagementObject mo in queryCollection1)
                            {
                                string MACAddress = string.Empty;
                                if (MACAddress == string.Empty)
                                {
                                    if ((bool)mo["IPEnabled"] == true) MACAddress = mo["MacAddress"].ToString();
                                }
                                mo.Dispose();
                                MACAddress = MACAddress.Replace(":", "");
                                if (MACAddress != "")
                                    ListBox1.Items.Add("MAC Адрес:   " + MACAddress);
                                ListBox2.Items.Add(MACAddress);
                            }
                            foreach (ManagementObject mo2 in queryCollection2)
                            {
                                ListBox1.Items.Add("Название:   " + mo2["Caption"] + mo2["OSArchitecture"]);
                                ListBox1.Items.Add("Версия:   " + mo2["Version"] + mo2["CSDVersion"]);
                                ListBox1.Items.Add("Описание:   ");
                            }
                            foreach (ManagementObject m in queryCollection)
                            {
                                ListBox1.Items.Add("Компьютерная система:      " + m["Model"]);
                                var MODEL = m["Model"].ToString();
                                ListBox2.Items.Add(MODEL);
                            }
                            foreach (ManagementObject mo3 in queryCollection3)
                            {
                                ListBox1.Items.Add("Серийный номер:      " + mo3["SerialNumber"]);
                                var sn = mo3["SerialNumber"].ToString();
                                ListBox2.Items.Add(sn);
                                int cnt = ListBox2.Items.Count;
                                for (int j = cnt - 1; j >= 0; j--)
                                    if (String.IsNullOrEmpty(ListBox2.Items[j].ToString()))
                                        ListBox2.Items.RemoveAt(j);
                            }
                            foreach (ManagementObject m in queryCollection)
                            {
                                double dblMemory;
                                if (double.TryParse(Convert.ToString(m["TotalPhysicalMemory"]), out dblMemory))
                                {
                                    ListBox1.Items.Add("Физическая память:      " + Convert.ToInt32(dblMemory / (1024 * 1024 * 1024)) + " ГБ");
                                }
                            }
                            foreach (ManagementObject mo6 in queryCollection6)
                            {
                                double dblMemoryvideo;
                                if (double.TryParse(Convert.ToString(mo6["AdapterRAM"]), out dblMemoryvideo))
                                {
                                    ListBox1.Items.Add("Видеоадаптер:      " + mo6["Name"] + " " + Convert.ToInt32(dblMemoryvideo / (1024 * 1024)) + " МБ");
                                }
                            }
                            double dblMemoryHDD;
                            foreach (ManagementObject mo7 in queryCollection7)
                            {
                                if (double.TryParse(Convert.ToString(mo7["Size"]), out dblMemoryHDD))
                                {
                                    ListBox1.Items.Add("Жесткие диски:      " + mo7["Caption"] + " " + Convert.ToInt32(dblMemoryHDD / (1024 * 1024 * 1024)) + " ГБ");
                                }
                            }
                            int driveType;
                            foreach (ManagementObject mo8 in queryCollection8)
                            {
                                if (int.TryParse(Convert.ToString(mo8["DriveType"]), out driveType))
                                {
                                    if (driveType == 3)
                                    {
                                        double Freespacedbl;
                                        double Sizedbl;                                      double.TryParse(Convert.ToString(mo8["FreeSpace"]), out Freespacedbl);
double.TryParse(Convert.ToString(mo8["Size"]), out Sizedbl);
                                        var FreeSpace = Convert.ToInt32(Freespacedbl / (1024 * 1024 * 1024));
                                        var Size = Convert.ToInt32(Sizedbl / (1024 * 1024 * 1024));
                                        var diff = Size - FreeSpace;
                                        var perc = FreeSpace * 100 / Size;
                                        var percrever = 100 - perc;
                                        // Convert.ToDouble(perc);
                                        ListBox1.Items.Add("Занято диск " + mo8["DeviceID"] + percrever + " %");
                                    }
                                }
                            }
                        }
                }
            }
            catch (Exception ex)
            {
                ListBox1.Items.Add("Host " + TextBox1.Text.Split(',').Count() + ex.Message);
            }[/SIZE]
        }
но как все переменные вставить в <LIST> не понимаю. Пока читаю литературу, однако там много и долго. Я еще с месяц не понимать буду.
num84num вне форума Ответить с цитированием
Старый 29.03.2017, 15:49   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

чот какое-то тыканье наугад, скорее всего надо было сначала изучить основы программирования и C# )

Вот более полный простой пример (диски вместо рабочих станций):

Form1.cs
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApplication19
{
    public partial class Form1 : Form
    {
        private List<Drive> _drives;

        private readonly DriveService _driveService = new DriveService();

        public Form1()
        {
            InitializeComponent();

            btnSave.Enabled = false;
        }

        private void btnLoadDrives_Click(object sender, EventArgs e)
        {
            _drives = _driveService.LoadDrives();

            ShowDrives(_drives);

            btnSave.Enabled = true;
        }

        private void btnSave_Click(object sender, EventArgs e)
        { 
            _driveService.SaveDrives(_drives);
        }

        private void ShowDrives(List<Drive> drives)
        {
            listBox1.Items.Clear();

            foreach (var drive in drives)
            {
                listBox1.Items.Add(String.Format("{0}: {1}",
                    drive.Model,
                    String.Join(", ", drive.LogicalDisks.Select(l => String.Format("{0} ({1})", l.Id, l.Name)))));
            }
        }
    }
}
Drive.cs
Код:
using System;
using System.Collections.Generic;

namespace WindowsFormsApplication19
{
    class Drive
    {
        public string DeviceId { get; set; }
        
        public string Model { get; set; }

        public string Serial { get; set; }

        public UInt64 Size { get; set; }

        public List<LogicalDisk> LogicalDisks { get; set; }

        public Drive()
        {
            LogicalDisks = new List<LogicalDisk>();
        }

        public override string ToString()
        {
            return string.Format("DeviceID: {0}, Model: {1}, Serial: {2}, Size: {3}, LogicalDisks: [{4}]",
                DeviceId, Model, Serial, Size, String.Join("; ", LogicalDisks));
        }
    }
}
LogicalDisk.cs
Код:
using System;

namespace WindowsFormsApplication19
{
    class LogicalDisk
    {
        public string Id { get; set; }

        public string Name { get; set; }

        public UInt64 Size { get; set; }

        public override string ToString()
        {
            return string.Format("{0} ({1}), {2}", Id, Name, Size);
        }
    }
}
DriveService.cs
Код:
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Management;

namespace WindowsFormsApplication19
{
    class DriveService
    {
        public List<Drive> LoadDrives()
        {
            var drives = new List<Drive>();

            using (var managementClass = new ManagementClass("Win32_DiskDrive"))
            {
                var driveCollection = managementClass.GetInstances();

                foreach (var driveMo in driveCollection)
                {
                    var drive = new Drive
                    {
                        DeviceId = (string) driveMo["DeviceID"],
                        Model = (string) driveMo["Model"],
                        Serial = (string) driveMo["SerialNumber"],
                        Size = (UInt64) driveMo["Size"]
                    };

                    drive.LogicalDisks = LoadLogicalDisks(drive.DeviceId);

                    drives.Add(drive);
                }
            }

            return drives;
        }

        public List<LogicalDisk> LoadLogicalDisks(string deviceId)
        {
            var logicalDisks = new List<LogicalDisk>();

            using (var searcher1 = new ManagementObjectSearcher(
                String.Format("ASSOCIATORS OF {{Win32_DiskDrive.DeviceID=\"{0}\"}} WHERE AssocClass = Win32_DiskDriveToDiskPartition",
                deviceId.Replace("\\", "\\\\"))))
            {
                var partitionsCollection = searcher1.Get();

                foreach (var partitionMo in partitionsCollection)
                {
                    string partitionId = (string) partitionMo["DeviceID"];
                    using (var searcher2 = new ManagementObjectSearcher(
                        String.Format("ASSOCIATORS OF {{Win32_DiskPartition.DeviceID=\"{0}\"}} WHERE AssocClass = Win32_LogicalDiskToPartition",
                        partitionId)))
                    {
                        var logicalDiskCollection = searcher2.Get();

                        foreach (var logicalDiskMo in logicalDiskCollection)
                        {
                            var logicalDisk = new LogicalDisk
                            {
                                Id = (string)logicalDiskMo["DeviceID"],
                                Name = (string)logicalDiskMo["VolumeName"],
                                Size = (UInt64)logicalDiskMo["Size"]
                            };

                            logicalDisks.Add(logicalDisk);
                        }
                    }
                }
            }


            return logicalDisks;
        }

        public void SaveDrives(IEnumerable<Drive> drives)
        {
            foreach (var drive in drives)
            {
                SaveDrive(drive);
            }
        }

        public void SaveDrive(Drive drive)
        {
            using (var connection = new SqlConnection("..."))
            {
                using (SqlCommand cmd = connection.CreateCommand())
                {
                    cmd.CommandText = "INSERT INTO ... (model, ...) VALUES (@Model, ...)";

                    cmd.Parameters.AddWithValue("@Model", drive.Model);
                    // ...

                    cmd.Prepare();
                    cmd.ExecuteNonQuery();
                }
            }
        }
    }
}
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 29.03.2017 в 15:59.
Alex11223 вне форума Ответить с цитированием
Старый 29.03.2017, 16:25   #9
num84num
 
Регистрация: 28.03.2017
Сообщений: 7
По умолчанию

Спасибо! Это то что нужно!
num84num вне форума Ответить с цитированием
Старый 29.03.2017, 20:02   #10
num84num
 
Регистрация: 28.03.2017
Сообщений: 7
По умолчанию

Круть! Так буду делать далее...все получилось! спасибо!
num84num вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Update из datagridview в sql базу meta13 Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 14.12.2012 08:05
Просмотреть базу My SQL AlexDn Общие вопросы Delphi 2 10.12.2012 11:58
перенести базу SQL Server S_Yevgeniy БД в Delphi 4 29.11.2009 17:13
Передача данных в SQL базу. Ag3r0n Помощь студентам 2 08.03.2009 19:18
Как создать базу на Sql Bayram_662 БД в Delphi 3 18.12.2008 14:46