Exemple #1
0
        //выполнить Drop table
        public void DropTable()
        {
            try
            {
                //находим  имя таблицы, из которой делаем выборку даных
                String table = TreeHelper.FindCreateTableName(f.treeView.Nodes[0]);

                ds.Tables.Remove(table);
                f.resultBox.Text += ">Ок";
            }
            catch (Exception e)
            {
                f.resultBox.Text += ">" + e.Message + Environment.NewLine;
            }
        }
Exemple #2
0
        //выполнить Create table
        public void CreateTable()
        {
            try
            {
                //находим  имя таблицы, из которой делаем выборку даных
                String table = TreeHelper.FindCreateTableName(f.treeView.Nodes[0]);

                //находим столбцы
                List <CreateTableColumn> columns = TreeHelper.FindCreateTableColumns(f.treeView.Nodes[0]);

                //создаем DataTable
                DataTable newTable = new DataTable();
                newTable.TableName = table;

                //создаем поля
                for (int i = 0; i < columns.Count; i++)
                {
                    CreateTableColumn cl        = columns[i];
                    DataColumn        newColumn = new DataColumn();
                    newColumn.ColumnName = cl.Column_name;
                    switch (cl.ColumnType)
                    {
                    case "int": newColumn.DataType = System.Type.GetType("System.Int32"); break;

                    case "integer": newColumn.DataType = System.Type.GetType("System.Int32"); break;

                    case "char": newColumn.DataType = System.Type.GetType("System.String"); break;

                    case "number": newColumn.DataType = System.Type.GetType("System.Decimal"); break;

                    case "datetime": newColumn.DataType = System.Type.GetType("System.DateTime"); break;

                    default: newColumn.DataType = System.Type.GetType("System.String"); break;
                    }
                    newTable.Columns.Add(newColumn);
                }

                ds.Tables.Add(newTable);
                f.resultBox.Text += ">Ок";
            }
            catch (Exception e)
            {
                f.resultBox.Text += ">" + e.Message + Environment.NewLine;
            }
        }
Exemple #3
0
        //выполнить Delete
        public void Delete()
        {
            try
            {
                //находим  имя таблицу, из которой делаем выборку даных
                String    tableName = TreeHelper.FindCreateTableName(f.treeView.Nodes[0]);
                DataTable tbl       = ds.Tables[tableName];

                //условие отбора строk для удаления
                string where = th.FindWhere();

                DataRow[] foundRows = tbl.Select(where);

                for (int i = 0; i < foundRows.Length; i++)
                {
                    foundRows[i].Delete();
                }
                f.resultBox.Text += ">Ок";
            }
            catch (Exception e)
            {
                f.resultBox.Text += ">" + e.Message + Environment.NewLine;
            }
        }
Exemple #4
0
        //выполнить Update
        public void Update()
        {
            try
            {
                CultureInfo provider = CultureInfo.InvariantCulture;

                //находим  имя таблицу, из которой делаем выборку даных
                String    tableName = TreeHelper.FindCreateTableName(f.treeView.Nodes[0]);
                DataTable tbl       = ds.Tables[tableName];

                //условие отбора стро для удаления
                string where = th.FindWhere();

                //находим столбцы
                List <string> columns = TreeHelper.FindUpdateColumns(f.treeView.Nodes[0]);
                //значения столбцов
                List <string> values = TreeHelper.FindUpdateValues(f.treeView.Nodes[0]);

                DataRow[] foundRows = tbl.Select(where);

                //Обновляем отобранные строки
                for (int i = 0; i < foundRows.Length; i++)
                {
                    for (int j = 0; j < columns.Count; j++) // цикл по обновляемым полям
                    {
                        if (tbl.Columns[columns[j]].DataType == System.Type.GetType("System.String"))
                        {
                            foundRows[i][columns[j]] = values[j].Replace("'", ""); //удаляем лишние одинарные кавычки
                        }
                        else
                        if (tbl.Columns[columns[j]].DataType == System.Type.GetType("System.DateTime"))
                        {
                            try
                            {
                                foundRows[i][columns[j]] = DateTime.ParseExact(values[j].Replace("'", ""), "dd.MM.yyyy HH:mm", provider);     //преобразуем строку в дату
                            }
                            catch
                            {
                                try
                                {
                                    foundRows[i][columns[j]] = DateTime.ParseExact(values[j].Replace("'", ""), "dd.MM.yyyy HH", provider);     //преобразуем строку в дату
                                }
                                catch
                                {
                                    foundRows[i][columns[j]] = DateTime.ParseExact(values[j].Replace("'", ""), "dd.MM.yyyy", provider);     //преобразуем строку в дату
                                }
                            }
                        }
                        else
                        {
                            if (tbl.Columns[columns[j]].DataType == System.Type.GetType("System.Decimal"))
                            {
                                foundRows[i][columns[j]] = Convert.ToDecimal(values[j], new CultureInfo("en-US"));
                            }
                            else
                            {
                                foundRows[i][columns[j]] = values[j];
                            }
                        }
                    }
                }
                f.resultBox.Text += ">Ок";
            }
            catch (Exception e)
            {
                f.resultBox.Text += ">" + e.Message + Environment.NewLine;
            }
        }
Exemple #5
0
        //выполнить Insert
        public void Insert()
        {
            try
            {
                CultureInfo provider = CultureInfo.InvariantCulture;

                //находим  имя таблицу, из которой делаем выборку даных
                String    tableName = TreeHelper.FindCreateTableName(f.treeView.Nodes[0]);
                DataTable tbl       = ds.Tables[tableName];

                //находим столбцы
                List <string> columns = TreeHelper.FindInsertColumns(f.treeView.Nodes[0]);
                //значения столбцов
                List <string> values = TreeHelper.FindInsertValues(f.treeView.Nodes[0]);

                // вставляем строку                {
                DataRow row = tbl.NewRow();
                for (int i = 0; i < columns.Count; i++)
                {
                    if (tbl.Columns[i].DataType == System.Type.GetType("System.String"))
                    {
                        row[columns[i]] = values[i].Replace("'", ""); //удаляем лишние одинарные кавычки
                    }
                    else
                    if (tbl.Columns[i].DataType == System.Type.GetType("System.DateTime"))
                    {
                        try
                        {
                            row[columns[i]] = DateTime.ParseExact(values[i].Replace("'", ""), "dd.MM.yyyy HH:mm:ss", provider);     //преобразуем строку в дату
                        }
                        catch
                        {
                            try
                            {
                                row[columns[i]] = DateTime.ParseExact(values[i].Replace("'", ""), "dd.MM.yyyy HH:mm", provider);     //преобразуем строку в дату
                            }
                            catch
                            {
                                try
                                {
                                    row[columns[i]] = DateTime.ParseExact(values[i].Replace("'", ""), "dd.MM.yyyy HH", provider);     //преобразуем строку в дату
                                }
                                catch
                                {
                                    row[columns[i]] = DateTime.ParseExact(values[i].Replace("'", ""), "dd.MM.yyyy", provider);     //преобразуем строку в дату
                                }
                            }
                        }
                    }
                    else
                    {
                        if (tbl.Columns[i].DataType == System.Type.GetType("System.Decimal"))
                        {
                            row[columns[i]] = Convert.ToDecimal(values[i], new CultureInfo("en-US"));
                        }
                        else
                        {
                            row[columns[i]] = values[i];
                        }
                    }
                }
                tbl.Rows.Add(row);

                f.resultBox.Text += ">Ок";
            }
            catch (Exception e)
            {
                f.resultBox.Text += ">" + e.Message + Environment.NewLine;
            }
        }