2014-01-15 85 views
0

我有从阵列的数据来像以下:ASP经典插入数据到SQL DATABSE

(AuthName1,AuthAddr1,AuthEmail1〜AuthName2,AuthAddr2,AuthEmail2〜)

,所以我把它分解使用下面的代码:

<% 
dim authinfo 
dim arr1 

arr1 = Split(authinfo,"~") 
for each item in arr1 
response.write item 
response.write ("<br>") 
next 
%> 

它给出的结果:

AuthName1,AuthAddr1,AuthEmail1 AuthName2,AuthAddr2,AuthEmail2

然后我如下分裂每个部分更新上述代码:

<% 
dim authinfo 
dim arr1 

arr1 = Split(authinfo,"~") 
for each item in arr1 


arr2 = split(item,",") 
for each item2 in arr2 

response.Write item2 
response.Write ("<br>") 

response.write ("<br>") 
next 
%> 

我想是在(ARR2)的每个项目插入到使用SQL数据库表,那表 是(ID,AUTHORNAME,AuthorAddress,AUTHOREMAIL)

回答

0
INSERT INTO 
    [dbo].[TestTable1] 
     ([F1], [F2], [F3]) 
VALUES 
     (arr2 (0), arr2 (1), arr2 (2)) 

因为 “ARR2” 是数组,则可以使用ARR2(0),ARR2(1),ARR2(2),其中 个ARR2(0)= AuthName1 ARR2(1)= AuthAddr1 ARR2(2)= AuthEmail1

还请改变从

for each item2 in arr2 
     response.Write item2 

for each item2 in arr2 
     response.Write item2 
    next 

最后:

dim authinfo 
dim arr1 

authinfo = "AuthName1,AuthAddr1,AuthEmail1~AuthName2,AuthAddr2,AuthEmail2" 

arr1 = Split(authinfo,"~") 

for each item in arr1 
    arr2 = split(item,",") 

    Response.Write arr2 (0) & ";" & arr2 (1) & ";" & arr2 (2) 
    '### Your SQL statement should be there ! 

next 

注意! 不要忘记验证数组大小!

+0

我做了以下: '<% 暗淡AUTHINFO 暗淡ARR1 暗淡ARR2 AUTHINFO = REQUEST.FORM( “authorsvalues”) ARR1 =分段(AUTHINFO, “〜”) 用于ARR1 每个项目ARR2 =分裂(项目, “”) 集合RS1 =的Server.CreateObject( “adodb.recordset”) SQL1 =“插入到作者(AUTHORNAME,AuthorAddress,AUTHOREMAIL)值( ' ”&ARR2(0)&“' ,''&arr2(1)&“''”&arr2(2)&“')” next %> ' 但是给出这个错误: 'Micro软VBScript运行时错误'800a0009' 下标超出范围:'[number:0]' /icepit/test.asp,第15行' @Zam –

+0

第15行包含sql语句 –

+0

您可以进行测试和写入:响应.Write arr2(1)&“
”&arr2(2) 会显示什么? – Zam