dimanche 13 décembre 2015

Delphi - Re-split an array of string?

I'm so "ashamed" of the question I'm going to ask, but after spending hours on this, I think it's time to turn to the community ;)

Let's say I have a string like this :

string1 := 'me,email1,you,email2,him,email3,them,email4';

To turn this into an array of string I simply do :

array1 := SplitString(string1,',');

This works fine.

But then, I get an array like :

array1[0] -> me
array1[1] -> email1
array1[2] -> you
array1[3] -> email2
array1[4] -> him
array1[5] -> email3
array1[6] -> them
array1[7] -> email4

I've searched a long time how to insert into SQLIte with this but there is no using

for i:= 0 to length(array1) -1
SQLExecute('INSERT INTO table(name,email) VALUES("'+array1[i]+'","'+array1[i+1]+'"');

because index 0 will be inserted as name with index 1 as email, but on the next turn, index 1 will be inserted as name with index 2 as email, when index 1 is en email, and index 2 a name... do you see the problem ?

I thought about re-spliting the first array into a second one by changing the initial string format into :

string1 := 'me-email1,you-email2,him-email3,them-email4';

to split a first time on the ' and a second time on the -, to get a 2 dimensional array, but seems this concept is over my knowledge at the moment :)

Just for the record, the Delphi RAD I'm using is quite recent, and only a few functions / tools are available at the moment.

How would you insert into sql ? Would you keep the original String format, or change it to get a 2 dimensional array ?

Thank you all in advance

Cheers

Mathias

Aucun commentaire:

Enregistrer un commentaire