Exemplo n.º 1
0
        /// <summary>
        /// 创建数据库表
        /// </summary>
        private void CreateTables()
        {
            try
            {
                InitFromFile();
                if (listSQL.Count > 0)
                {
                    for (int i = 0; i < listSQL.Count; i++)
                    {
                        string sql = "create table if not exists " + listSQL[i].tableName + "( " +
                                     listSQL[i].columnName[0] + " " + listSQL[i].dataTypes[0] + " not null primary key auto_increment,";
                        for (int j = 1; j < listSQL[i].columnName.Length; j++)
                        {
                            sql += listSQL[i].columnName[j] + " " + listSQL[i].dataTypes[j] + " ,";
                        }

                        if (!listSQL[i].unique.Equals(""))
                        {
                            sql += listSQL[i].unique + " );";
                        }
                        else
                        {
                            sql  = sql.Remove(sql.Length - 1, 1);
                            sql += " );";
                        }

                        DataToolsQueueMsg queuein_SQL = new DataToolsQueueMsg();
                        queuein_SQL.type = DataBaseType.ExecuteSQL;
                        queuein_SQL.sql  = sql;
                        ListQueue.Enqueue(queuein_SQL);
                    }
                }
            }
            catch (Exception ex)
            {
                DataToolsUIMsg msg = new DataToolsUIMsg();
                msg.type = "exception";
                msg.ex   = ex;
                OnUiShowMessage(msg);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 队列处理线程,不停进行队列处理,直到通知线程结束
        /// </summary>
        private void ThreadReadQueue()
        {
            while (!STOP_THREAD)
            {
                if (ListQueue.Count > 0)
                {
                    try
                    {
                        //从队列中取出
                        DataToolsQueueMsg queueinfo = ListQueue.Dequeue();
                        switch (queueinfo.type)
                        {
                        case DataBaseType.Insert:
                            myDataHelper.Insert(queueinfo.message, queueinfo.values);
                            break;

                        case DataBaseType.Delete:
                            myDataHelper.Delete(queueinfo.message, queueinfo.whereName, queueinfo.whereValue);
                            break;

                        case DataBaseType.Update:
                            myDataHelper.Update(queueinfo.message, queueinfo.parameters, queueinfo.values, queueinfo.whereName, queueinfo.whereValue);
                            break;

                        case DataBaseType.Query:
                            DataToolsUIMsg msg = new DataToolsUIMsg();
                            msg.dataSet = myDataHelper.Query(queueinfo.message, queueinfo.parameters, queueinfo.whereName, queueinfo.whereValue);
                            msg.type    = queueinfo.marks;
                            OnUiShowMessage(msg);
                            break;

                        case DataBaseType.CreateTable:
                            myDataHelper.CreateTable(queueinfo.message, queueinfo.parameters);
                            break;

                        case DataBaseType.CreateDataBase:
                            myDataHelper.CreateDataBase(queueinfo.message, queueinfo.parameters);
                            break;

                        case DataBaseType.ExecuteSQL:
                            myDataHelper.ExecuteSQL(queueinfo.sql);
                            break;

                        case DataBaseType.ExecuteSQLToDataSet:
                            DataToolsUIMsg resultExecute = new DataToolsUIMsg();
                            resultExecute.type    = queueinfo.marks;
                            resultExecute.dataSet = myDataHelper.ExecuteSQLToDataSet(queueinfo.sql);
                            OnUiShowMessage(resultExecute);
                            break;

                        case DataBaseType.ExecuteSQLFromDataBase:
                            DataToolsUIMsg resultExecute_data = new DataToolsUIMsg();
                            resultExecute_data.type    = queueinfo.marks;
                            resultExecute_data.dataSet = myDataHelper.ExecuteSQLToDataSet_FromDataBase(queueinfo.whereName, queueinfo.sql);
                            OnUiShowMessage(resultExecute_data);
                            break;

                        case DataBaseType.UpdateDataTable:
                            myDataHelper.BatchUpdate(queueinfo.dataTable);
                            break;

                        case DataBaseType.InsertDataTable:
                            myDataHelper.BulkInsert(queueinfo.dataTable);
                            break;

                        case DataBaseType.GetColumnName:
                            //获取表中的字段
                            //DataToolsUIMsg resultColumn = new DataToolsUIMsg();
                            //resultColumn.valuesList = myDataHelper.GetColumnName(queueinfo.message);
                            //resultColumn.type = queueinfo.marks;
                            //OnUiShowMessage(resultColumn);
                            break;

                        case DataBaseType.InsertOrUpdate:
                            myDataHelper.InsertOrUpdate(queueinfo.message, queueinfo.values);
                            break;

                        case DataBaseType.ShowTables:
                            DataToolsUIMsg resultTables = new DataToolsUIMsg();
                            resultTables.type    = queueinfo.marks;
                            resultTables.dataSet = myDataHelper.GetAllTables(queueinfo.whereName);
                            OnUiShowMessage(resultTables);
                            break;

                        case DataBaseType.ShowDataBase:
                            //显示所有的数据库列表
                            DataToolsUIMsg resultDatas = new DataToolsUIMsg();
                            resultDatas.type    = queueinfo.marks;
                            resultDatas.dataSet = myDataHelper.GetAllDataBase();
                            OnUiShowMessage(resultDatas);
                            break;

                        case DataBaseType.ShowTableColumns:
                            //显示数据表中的所有列名
                            DataToolsUIMsg resultColumns = new DataToolsUIMsg();
                            resultColumns.type    = queueinfo.marks;
                            resultColumns.dataSet = myDataHelper.GetAllTableColumns(queueinfo.whereName, queueinfo.whereValue);
                            OnUiShowMessage(resultColumns);
                            break;
                        }
                    }
                    catch (Exception ex)
                    {
                        DataToolsUIMsg msg = new DataToolsUIMsg();
                        msg.type    = "exception";
                        msg.message = ex.ToString();
                        OnUiShowMessage(msg);
                    }
                }
            }
        }
Exemplo n.º 3
0
 /// <summary>
 /// 添加数据进队列
 /// </summary>
 /// <param name="queueinfo"></param>
 public void Enqueue(DataToolsQueueMsg queueinfo)
 {
     ListQueue.Enqueue(queueinfo);
 }