2009-06-30 24 views
0

は、レコード内の6つのフィールドは、私は、テーブルに挿入したいレコードセットの値をテーブルに挿入する方法は?レコードセット値に</p> <p>を挿入する方法

を設定しただろうか?どのように挿入できますか?

は、クエリ

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

使用されるが、それは未定義の関数「レコード」

を示す方法を表にしてレコードセットの値を挿入してください?

「ヘルプ?

+0

達成しようとしていることの詳細をお知らせください。この "レコードセット"とは何ですか?これはADO RecordSetですか? –

答えて

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型のフィールドで引用符

0

recordsetname.fields(「FIELD_NAME」)を試してみて、recorsetname変数が定義されたことを確認する必要があることに注意してください。構文recordsetname!field_nameを使用することもできます。

0

コンスタンティノスは良い答えですが、SQLインジェクションの問題の可能性に注意するだけで済みます。

最も単純な修正は、単一のアポストロフィを2つに置き換えることです。

.CommandText = "テーブルに挿入(フィールド1)の値( '" &(recordSet.Fields(0)、交換してください "'"、 " 'を'")& "')"

0

それはあなたのように聞こえます1つのステートメント(1レコードごとに6 INSERTではなく、6レコードに対して1 INSERT)を使用して複数のレコードをINSERTしようとしています。その場合、INSERT syntaxは完全にサポートしています。

はここでの例です:あなたはこのようにそれを見てみると

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

、あなたは基本的に任意のSELECT文を取り、その上にINSERT句を置くことができます。もちろん、列名は正しく機能するためには、列の名前が正しく整列する必要があります。

関連する問題