Beispiel #1
0
        public SQLField SetType(SQLFieldType type)
        {
            _type = type;

            switch (type)
            {
            case SQLFieldType.INT:
                typeForSQL = "INTEGER";
                break;

            case SQLFieldType.NULL:
                typeForSQL = "NULL";
                break;

            case SQLFieldType.FLOAT:
                typeForSQL = "REAL";
                break;

            case SQLFieldType.TEXT:
                typeForSQL = "TEXT";
                break;

            case SQLFieldType.BINARY:
                typeForSQL = "BLOB";
                break;

            case SQLFieldType.LONG:
                typeForSQL = "BIGINT";
                break;
            }

            return(this);
        }
Beispiel #2
0
        private void InitData()
        {
            List <AttributesUtils.EnumItem> listFieldType = AttributesUtils.GetEnumList <Common.BaseEnum.Enumeration.FieldTypes>();

            ExcelFieldType.DataSource     = listFieldType;
            ExcelFieldType.DataTextField  = "Value";
            ExcelFieldType.DataValueField = "Key";
            ExcelFieldType.DataBind();

            SQLFieldType.DataSource     = listFieldType;
            SQLFieldType.DataTextField  = "Value";
            SQLFieldType.DataValueField = "Key";
            SQLFieldType.DataBind();
        }
Beispiel #3
0
        public List <SQLField[]> Query(SQLStatement statement)
        {
            if (statement == null)
            {
                return(null);
            }

            string[] fieldNames = statement.GetSelectFieldArray();
            if ((fieldNames == null || fieldNames.Length <= 0))
            {
                return(null);
            }

            OpenOrCreateIfNeed();

            List <SQLField[]> result = new List <SQLField[]>();

            SqliteDataReader reader = sqlite.Query(statement);

            if (reader.HasRows)
            {
                while (reader.Read())
                {
                    SQLField[] resultFields = new SQLField[fieldNames.Length];

                    for (int i = 0; i < fieldNames.Length; i++)
                    {
                        string fieldName = fieldNames[i].Trim();

                        int ordinal = reader.GetOrdinal(fieldName);

                        if (reader.IsDBNull(ordinal))
                        {
                            resultFields[i] = new SQLField(fieldName);
                        }
                        else
                        {
                            SQLFieldType fieldType = allFields[fieldName].type;

                            switch (fieldType)
                            {
                            case SQLFieldType.BINARY:
                                resultFields[i] = new SQLField(fieldName).SetValue(Convert.ToString((byte[])reader.GetValue(ordinal)));
                                break;

                            case SQLFieldType.FLOAT:
                                resultFields[i] = new SQLField(fieldName).SetValue(Convert.ToString(reader.GetFloat(ordinal)));
                                break;

                            case SQLFieldType.INT:
                                resultFields[i] = new SQLField(fieldName).SetValue(Convert.ToString(reader.GetInt32(ordinal)));
                                break;

                            case SQLFieldType.LONG:
                                resultFields[i] = new SQLField(fieldName).SetValue(Convert.ToString(reader.GetInt64(ordinal)));
                                break;

                            case SQLFieldType.TEXT:
                                resultFields[i] = new SQLField(fieldName).SetValue(reader.GetString(ordinal));
                                break;

                            default:
                                resultFields[i] = new SQLField(fieldName);
                                break;
                            }

                            resultFields[i].SetType(fieldType);
                        }
                    }

                    result.Add(resultFields);
                }
            }

            sqlite.CloseReader(reader);

            return(result);
        }