コード例 #1
0
        public bool Query(SQLField field)
        {
            if (field == null)
            {
                return(false);
            }

            OpenOrCreateIfNeed();

            return(sqlite.Query(tableName, field));
        }
コード例 #2
0
        /// <param name="field">要删除的字段</param>
        /// <param name="operation">条件语句中的操作符 比如 = 或 like</param>
        public void Delete(SQLField field, SQLOperation operation = SQLOperation.EQUAL)
        {
            if (field == null)
            {
                return;
            }

            SQLStatement statement = new SQLStatement(GetTableName());

            statement.AddConditions(operation, SQLUnion.NONE, field);

            Delete(statement);
        }
コード例 #3
0
        public bool Query(string tableName, SQLField field)
        {
            if (string.IsNullOrEmpty(tableName) || field == null)
            {
                return(false);
            }

            SQLStatement statement = new SQLStatement(tableName);

            statement.SelectFields("*").AddConditions(SQLOperation.EQUAL, SQLUnion.NONE, field);

            SqliteDataReader reader  = Query(statement);
            bool             hasRows = reader.HasRows;

            CloseReader(reader);

            return(hasRows);
        }
コード例 #4
0
 public List <SQLField[]> Query(string fieldName, SQLField conditionField)
 {
     return(Query(fieldName, SQLUnion.NONE, SQLOperation.EQUAL, conditionField));
 }
コード例 #5
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);
        }
コード例 #6
0
 public void Update(SQLField field, SQLField conditionField)
 {
     Update(field, SQLUnion.NONE, SQLOperation.EQUAL, conditionField);
 }
コード例 #7
0
 public void Update(SQLField field, SQLUnion union, params SQLField[] conditionFields)
 {
     Update(field, union, SQLOperation.EQUAL, conditionFields);
 }
コード例 #8
0
 public void Update(SQLField field, SQLUnion union, SQLOperation operation, params SQLField[] conditionFields)
 {
     Update(new SQLField[] { field }, union, operation, conditionFields);
 }