提交 f90920fb 编写于 作者: aaronchen2k2k's avatar aaronchen2k2k

select data from temp table

上级 5472ee5e
...@@ -25,7 +25,7 @@ func GenerateFieldValuesFromExcel(field *model.Field, fieldValue *model.FieldVal ...@@ -25,7 +25,7 @@ func GenerateFieldValuesFromExcel(field *model.Field, fieldValue *model.FieldVal
path := constant.DataDir + file path := constant.DataDir + file
ConvertExcelToSQLite(*field, path) ConvertExcelToSQLite(*field, path)
list = strings.Split("str"+path, "\n") list = ReadDataSQLite(*field)
// get step and rand // get step and rand
rand := false rand := false
...@@ -120,9 +120,10 @@ func ConvertExcelToSQLite(field model.Field, path string) { ...@@ -120,9 +120,10 @@ func ConvertExcelToSQLite(field model.Field, path string) {
valList = valList + ")" valList = valList + ")"
} }
dropSql := fmt.Sprintf(dropTemplate, field.Name) tableName := field.Name + "_" + sheet
ddl := fmt.Sprintf(ddlTemplate, field.Name, colDefine) dropSql := fmt.Sprintf(dropTemplate, tableName)
insertSql := fmt.Sprintf(insertTemplate, field.Name, colList, valList) ddl := fmt.Sprintf(ddlTemplate, tableName, colDefine)
insertSql := fmt.Sprintf(insertTemplate, tableName, colList, valList)
db, err := sql.Open("sqlite3", constant.SqliteSource) db, err := sql.Open("sqlite3", constant.SqliteSource)
_, err = db.Exec(dropSql) _, err = db.Exec(dropSql)
...@@ -141,8 +142,32 @@ func ConvertExcelToSQLite(field model.Field, path string) { ...@@ -141,8 +142,32 @@ func ConvertExcelToSQLite(field model.Field, path string) {
} }
} }
func ReadDataSQLite(table string) []string { func ReadDataSQLite(field model.Field) []string {
list := make([]string, 0) list := make([]string, 0)
db, err := sql.Open(constant.SqliteDriver, constant.SqliteSource)
if err != nil {
logUtils.Screen("fail to open " + constant.SqliteSource + ": " + err.Error())
return list
}
rows, err := db.Query(field.Filter)
if err != nil {
logUtils.Screen("fail to exec query " + err.Error())
return list
}
for rows.Next() {
var val string
err = rows.Scan(&val)
if err != nil {
logUtils.Screen("fail to get sqlite3 row: " + err.Error())
return list
}
list = append(list, val)
}
return list return list
} }
...@@ -83,6 +83,7 @@ func GenerateForField(field *model.Field, total int) []string { ...@@ -83,6 +83,7 @@ func GenerateForField(field *model.Field, total int) []string {
} else {// other type like address.city } else {// other type like address.city
arr := strings.Split(field.Type, ".") arr := strings.Split(field.Type, ".")
referField := constant.LoadedFields[arr[0]] referField := constant.LoadedFields[arr[0]]
referField.Filter = field.Range
values = GenerateFieldItemsFromDefinition(&referField, total) values = GenerateFieldItemsFromDefinition(&referField, total)
} }
......
...@@ -14,6 +14,7 @@ type Field struct { ...@@ -14,6 +14,7 @@ type Field struct {
Note string `yaml:"note"` Note string `yaml:"note"`
Type string `yaml:"type"` Type string `yaml:"type"`
Range string `yaml:"range"` Range string `yaml:"range"`
Filter string `yaml:"filter"`
Prefix string `yaml:"prefix"` Prefix string `yaml:"prefix"`
Postfix string `yaml:"postfix"` Postfix string `yaml:"postfix"`
Loop int `yaml:"loop"` Loop int `yaml:"loop"`
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册