如何插入记录集值
记录集中有6个字段
我想插入表格?我该怎么插入。
使用过的查询
INSERT INTO table values (recordset (0), recordset (1) ….. recordset (6))
但它显示未定义的功能“记录集”
请如何将记录集值插入表中?
查询帮助?
答案 0 :(得分:0)
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字段中引用
答案 1 :(得分:0)
尝试使用recordsetname.fields(“field_name”)并检查是否已定义recorsetname变量。您还可以使用语法recordsetname!field_name。
答案 2 :(得分:0)
Konstantinos提供了一个很好的答案,但您只需要注意SQL注入问题的可能性。
最简单的解决方法是用两个替换任何单个撇号。
.CommandText =“insert into table(field1)values('”& Replace(recordSet.Fields(0),“'”,“''”)&“')”
答案 3 :(得分:0)
听起来您正在尝试使用单个语句插入多个记录(一个INSERT用于6个记录而不是6个INSERT用于每个记录1个)。如果是这种情况,INSERT syntax完全支持它。
以下是一个例子:
INSERT INTO MyTable
(row1, row2)
SELECT
value1, value2
FROM
OtherTable
当你这样看时,你基本上可以接受任何SELECT语句并将INSERT子句放在它上面。当然,列名称需要正确排列才能正常工作。
答案 4 :(得分:0)
您可以使用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);