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); }
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(); }
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); }