В общем вопрос достаточно размыт и в общем прошу помощи в его точной формулировке Готовится функция, которая будет в БД забрасывать данные. Хочется сделать так, чтобы можно было с помощью этой функции заполнять или один столбец или сразу несколько. функция будет иметь примерный вид такой: Код (Text): proc insert_data,hSqlite,...,...., local .ppStmt dd ? ;; ;; Insert data to tables ;; lea eax,[.ppStmt] stdcall [sqlite3_prepare],[hSqlite],.strSQL1,.szSQL1,eax,0 stdcall [sqlite3_step],[.ppStmt] stdcall [sqlite3_finalize],[.ppStmt] ret ;1 .strSQL1 db "INSERT INTO %s (%s) VALUES('%s')",0 .szSQL1 = $ - .strSQL1 ;2 .strSQL2 db "INSERT INTO %s (%s,%s) VALUES('%s','%s')",0 .szSQL2 = $ - .strSQL2 ;3 ..................................................................................................... ..................................................................................................... endp В общем это как понимаете не окончательный вид функции, но думаю смысл всем ясен. Функция должна заполнять по задумке две таблицы: 1) developer (developer_id INTEGER PRIMARY KEY AUTOINCREMENT, developer_name TEXT,developer_counter INTEGER) 2) project (project_id INTEGER PRIMARY KEY AUTOINCREMENT, project_name TEXT,link_developer_name TEXT,FOREIGN KEY(link_developer_name) REFERENCES developer(developer_name)) в первую таблицу будут поступать данные в виде: INSERT INTO developer (developer_name,developer_counter) VALUES('foo','111'); во вторую будут поступать значения в виде: INSERT INTO project (project_name,project_counter,link_developer_name) VALUES('foo','+1',1); Если брать в целом функцию, то она будет намного сложнее, но это тут не важно. Важно другое Как сформировать правильно по вашему мнению структуры, чтобы передать в функцию ? к примеру я это вижу так: передаем структуру, в которой будут указатели на две или более структур struct BaseStruct table_name dp ? ; имя таблицы, которая будет заполняться table_data TableData ; указатель на структуру, где будет имя ячейки и информация, которая должна поступить в эту ячейку ends struct TableData name dp ? ; имя ячейки data1 dp ? ; первая переменная, которая будет загружаться в ячеку data2 dp ? ; 2-я переменная, которая будет загружаться в ячеку data3 dp ? ; 3-я переменная, которая будет загружаться в ячеку data4 dp ? ; 4-я переменная, которая будет загружаться в ячеку ...... ..... ends Получается у нас должна быть не одна структура, а две и более(если ячеек несколько) и как их автоматом нагенерить(в случае, если будем заполнять несколько ячеек). В общем у меня такое чувство, что я не в ту сторону всё это завернул. Помогите в общем найти верное решение к данному вопросу. Как бы Вы все это реализовали ?
Скорее всего первое, так как я вообще не понял чего вы хотите. Вы хотите написать функцию которая будет заполнять структуру или принимать? Или вы не можете составить структуру со вложенными структурами?
Итак, насколько я понял, нужно передать в функцию два списка строк для запись в таблицу. Так? Тогда ответьте на такие вопросы: 1. Имена таблиц и столбцов в БД фиксированные? Или их требуется также передавать в эту функцию? 2. Количество столбцов в первой и второй таблице фиксированное? Или тоже переменное?