1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| void SaveToBD()
{
System::Data::OleDb::OleDbConnection ^ connect;
connect = gcnew System::Data::OleDb::OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=bd_new.mdb; Persist Security Info = False");
connect->Open();
/// Строка SQL-запроса на создание пустого dbf-файла с заданной структурой
String ^ Create = "Create table" + "[DBO]" +"(ID integer, [ПІБ_пасажира] text(50) null, [Тип_багажу] text(25) null," +
"[Час_обліку] text(15) null, [Дата_обліку] text(15) null, Розмір double, Вага double, Сума_перевезення double, [Можливість_перевезення] text(3)); ";
// Класс, необходимый для задания оператора SQL и источника данных
System::Data::OleDb::OleDbCommand^ commandA = gcnew System::Data::OleDb::OleDbCommand(Create, connect);
// Заполняем созданный файл данными из DataTable
String ^ Insert = "Insert into " + "[DBO]" + " (ID, [ПІБ_пасажира], [Тип_багажу], [Час_обліку], [Дата_обліку], [Розмір], Вага, Сума_перевезення, [Можливість_перевезення])" +
"Values (@ID, @pib, @type, @time, @date, @size, @weight, @sum, @check);";
// Выполняет оператор SQL
commandA->ExecuteNonQuery(); // Создает на диске файл
System::Data::OleDb::OleDbCommand^ commandB = gcnew System::Data::OleDb::OleDbCommand(Insert, connect);
connect->Close();
GetTab()->Refresh();
int nul = 0;
for (int i = nul; i < GetTab()->RowCount; i++)
{
commandB->Parameters->AddWithValue("@ID", OleDbType::Integer)->Value = GetTab()->Rows[i]->Cells[0]->Value;
commandB->Parameters->AddWithValue("@pib", OleDbType::VarChar)->Value = GetTab()->Rows[i]->Cells[1]->Value;
commandB->Parameters->AddWithValue("@type", OleDbType::VarChar)->Value = GetTab()->Rows[i]->Cells[2]->Value;
commandB->Parameters->AddWithValue("@time", OleDbType::VarChar)->Value = GetTab()->Rows[i]->Cells[3]->Value;
commandB->Parameters->AddWithValue("@date", OleDbType::VarChar)->Value = GetTab()->Rows[i]->Cells[4]->Value;
commandB->Parameters->AddWithValue("@size", OleDbType::Double)->Value = GetTab()->Rows[i]->Cells[5]->Value;;
commandB->Parameters->AddWithValue("@weight", OleDbType::Double)->Value = GetTab()->Rows[i]->Cells[6]->Value;;
commandB->Parameters->AddWithValue("@sum", OleDbType::Double)->Value = GetTab()->Rows[i]->Cells[7]->Value;;
commandB->Parameters->AddWithValue("@check", OleDbType::VarChar)->Value = GetTab()->Rows[i]->Cells[8]->Value;
connect->Open();
commandB->ExecuteNonQuery();
commandB->Parameters->Clear();
connect->Close();
int n = 0;
if (n == 0)
{
i++;
nul = i;
break;
}
}
} |