Как вставить значение набора записей в таблицу? - PullRequest
0 голосов
/ 30 июня 2009

Как вставить значение набора записей

У меня 6 полей в наборе записей

Я хочу вставить в таблицу? Как я могу вставить.

Используемый запрос

INSERT INTO table values (recordset (0), recordset (1) ….. recordset (6)) 

Но это показывает неопределенную функцию «набор записей»

Пожалуйста, как вставить значение набора записей в таблицу?

Запрос справки?

Ответы [ 5 ]

0 голосов
/ 18 мая 2018

Вы можете вставить данные в базу данных с помощью Codeigniter Framework.

База данных

Имя таблицы: пользователь

Имя поля: имя, адрес электронной почты


Вставьте запись, используя codeigniter:

//storing data **record** into an **Array**

$data(
      'name' => 'Rudra',
      'email' => 'rud.test@gmail.com',
)

//Inserting Array into Database Table Name : **user**

$this->db->insert('user',$data);
0 голосов
/ 30 июня 2009

Звучит так, как будто вы пытаетесь вставить несколько записей, используя один оператор (один INSERT для 6 записей вместо 6 INSERT для 1 записи каждый). В этом случае синтаксис INSERT полностью поддерживает его.

Вот пример:

INSERT INTO MyTable
    (row1, row2)
SELECT 
    value1, value2
FROM
    OtherTable

Когда вы смотрите на это так, вы можете взять любой оператор SELECT и поставить над ним предложение INSERT. Конечно, имена столбцов должны быть правильно выстроены, чтобы он работал.

0 голосов
/ 30 июня 2009

Попробуйте использовать recordsetname.fields ("field_name") и убедитесь, что переменная recordsetname была определена. Вы также можете использовать синтаксис имя набора записей! Field_name.

0 голосов
/ 30 июня 2009

Константинос дает хороший ответ, но вам просто нужно быть осторожным с потенциальными проблемами SQL-инъекций.

Самым простым решением было бы просто заменить любые апострофы двумя.

.CommandText = "вставить в таблицу (field1) значения ('" & Replace (recordSet.Fields (0), "'", "''") & "')"

0 голосов
/ 30 июня 2009
Dim cmdCommand As New ADODB.Command
If recordSet.EOF = False Then

recordSet.MoveFirst

cmdCommand.CommandText = "insert into table ( field1) values ( " + recordSet.Fields(0) + ")"
cmdCommand.Execute()
recordSet.MoveNext
Loop Until recordSet.EOF = True

Имейте в виду, что вам понадобятся кавычки в полях varchar

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...