白开心

  IT博客 :: 首页 ::  :: 联系 :: 聚合  :: 管理 ::
  9 随笔 :: 76 文章 :: 28 评论 :: 0 Trackbacks
<%
Call Main
Function Main()
    
Dim filePath
    
Dim cnSQL
    
Set cnSQL = server.CreateObject("Adodb.Connection")
    
    
    filePath 
= "E:\NET3.5代码学习\BI学习\DBF"
    
'On Error GoTo ERRORHANDLER
    cnSQL.ConnectionString = "Provider=SQLOLEDB.1;SERVER=HJ\NCZERG;DATABASE=DTS;UID=sa;PWD=spider*123"
    cnSQL.Open
    
'cnSQL.Open "Provider=SQLOLEDB.1;User ID=sa;password=spider*123;Initial Catalog=DTS;Data Source=."
    
    SearchFolder cnSQL, filePath
    
'ERRORHANDLER:
    If (cnSQL.State = adStateOpen) Then
        Response.Write(
"<br>Close")
        cnSQL.Close
    
End If
    
    Main 
= DTSTaskExecResult_Success
End Function


' get all dbf files in folder
Sub SearchFolder(cnSQL ,Folder)
      
dim fso,cnDBF,rsDBF,strDBF
      
Dim objFile, objFolder
      
Set cnDBF = Server.CreateObject("Adodb.Connection")
      
Set rsDBF = server.CreateObject("Adodb.RecordSet")
      
      
set fso=server.CreateObject("scripting.filesystemobject")
      
      
      
'open this dbf table 
      strDBF = "Driver={Microsoft Visual FoxPro Driver};SourceType=DBF;SourceDB="& Folder &";Exclusive=No;Collate=Machine;NULL=NO"
      cnDBF.ConnectionString 
= strDBF
      cnDBF.Open
      
      
' get all files in folder
      Set objFolder = fso.GetFolder(Folder)
      
For Each objFile In objFolder.Files
          
'MsgBox objFile.Path
          If (Right(objFile, 4= ".dbf"Then
              ExecuteDBF cnSQL,cnDBF,rsDBF, objFile
          
End If
      
Next
      
      cnDBF.Close
      
      
'For Each objFolder In objFolder.SubFolders
      '    SearchFolder objFolder
      'Next
End Sub


Public Sub ExecuteDBF(cnSQL,cnDBF,rsDBF,dbfPath)
    
Dim Conn,ConnStr,rs,tableName,i
    
'get tablename from filepath
    Dim arr
    arr 
= Split(dbfPath,"\"
    tableName 
= arr(Ubound(arr))
   
    rsDBF.Open 
"select * from " & tableName, cnDBF,1,3
    
If (rsDBF.RecordCount > 0Then
        
For i = 1 To rsDBF.RecordCount
            Response.Write(
"<br>"&rsDBF("acctName"))
            
Call ExecuteInsert(cnSQL,rsDBF("acctName"))
            rsDBF.MoveNext
        
Next
    
End If
    rsDBF.Close()
End Sub

' insert 
Public Sub ExecuteInsert(cnSQL, userName)
    
Dim Cmd
    
Set Cmd = Server.CreateObject("ADODB.Command")
    
with Cmd
       .ActiveConnection 
= cnSQL          'cnSQL is connection object
       .CommandText      = "proc_Insert"  'your procedure name
       .CommandType      = 4              'this is a procedure
       .Prepared         = true           '要求将SQL命令先行编译
       .Parameters.append .CreateParameter("@UserName",200,1,50,userName)
       .Execute
    
end with
    
Set Cmd = Nothing
    
    
'adBigInt: 20 ;
    'adBinary : 128 ; 
    'adBoolean: 11 ;
    'adChar: 129 ;
    'adDBTimeStamp: 135 ;
    'adEmpty: 0 ;
    'adInteger: 3 ;
    'adSmallInt: 2 ; 
    'adTinyInt: 16 ;
    'adVarChar: 200 ;
End Sub

 %
>
posted on 2009-10-25 18:40 白开心 阅读(278) 评论(0)  编辑 收藏 引用 所属分类: Asp+vbScript
只有注册用户登录后才能发表评论。