如何将记录集值插入表中?

时间:2009-06-30 09:23:00

标签: sql-server vb6

如何插入记录集值

记录集中有6个字段

我想插入表格?我该怎么插入。

使用过的查询

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

但它显示未定义的功能“记录集”

请如何将记录集值插入表中?

查询帮助?

5 个答案:

答案 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);