【发布时间】:2015-12-14 05:20:16
【问题描述】:
假设我有一个这样的字符串:
string1 := 'me,email1,you,email2,him,email3,them,email4';
要将其转换为字符串数组,我只需这样做:
array1 := SplitString(string1,',');
这很好用。
但是,我得到了一个类似的数组:
array1[0] -> me
array1[1] -> email1
array1[2] -> you
array1[3] -> email2
array1[4] -> him
array1[5] -> email3
array1[6] -> them
array1[7] -> email4
我已经搜索了很长时间如何使用这个插入SQLIte但没有使用
for i:= 0 to length(array1) -1
SQLExecute('INSERT INTO table(name,email) VALUES("'+array1[i]+'","'+array1[i+1]+'"');
因为索引 0 将作为名称插入,索引 1 作为电子邮件,但在下一回合,索引 1 将作为名称插入,索引 2 作为电子邮件,当索引 1 是电子邮件时,索引 2 是名称.. . 你看到问题了吗?
我考虑通过将初始字符串格式更改为:将第一个数组重新拆分为第二个数组:
string1 := 'me-email1,you-email2,him-email3,them-email4';
第一次在 ' 上拆分,第二次在 - 上拆分,以获得一个二维数组,但目前这个概念似乎超出了我的知识范围 :)
仅作记录,我使用的 Delphi RAD 是相当新的,目前只有少数功能/工具可用。
你将如何插入到 sql 中?是保留原来的String格式,还是改成二维数组?
【问题讨论】:
-
你真正想做的是解析成一个记录数组,每条记录都有一个名称字段和一个电子邮件字段。
-
对于任何语言来说都是一个非常糟糕的想法。 Delphi PHP, Python - 随便!!!请使用可靠的方法! bobby-tables.com
标签: arrays sqlite delphi string-split