• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 777
  • Last Modified:

create access db and fill'er up - HOW? (asp -vbscript-adox)

I'm tearing my hair! Why the bloody h... wont this work???
I'm creating an access database file in ASP and ADOX.
This works great, but no records get put in it. no errors or anything just plain empty.
this is my code:

<!--#include file="../../../../../program files/common files/System/ado/adovbs.inc"-->
<%
Const Jet10 = 1
Const Jet11 = 2
Const Jet20 = 3
Const Jet3x = 4
Const Jet4x = 5
dim dbName, tableName, dbPath, rs_q, sql, fso
dbName = "C:\inetpub\wwwroot\survey\avmedia\Library\johan.mdb"
tableName = "test"
dbPath="../Library/"&right(dbName,(len(dbName)-42))
set fso=server.CreateObject("Scripting.FileSystemObject")
Function dbReady(dbName)
   dbReady = fso.FileExists(dbName)
End Function
Sub CreateNewMDB(FileName, Format, tableName, tableId)
  Dim Catalog
  Set Catalog = CreateObject("ADOX.Catalog")
  Catalog.Create "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=" & Format & ";Data Source=" & FileName
      Dim TheTable
      Set TheTable = Server.CreateObject("ADOX.Table")
      TheTable.Name = tableName
      TheTable.Columns.Append "id", adInteger
      TheTable.Columns.Append "namn", adLongVarWChar, 255
      TheTable.Columns.Append "tel", adLongVarWChar, 255
      TheTable.Keys.Append "PK_id", 1, "id"
      Catalog.Tables.Append TheTable
      set conn2 = server.CreateObject("ADODB.connection")
      conn2.open(catalog.activeConnection)
      conn2.execute("INSERT INTO test VALUES(123,'asdfsafd','safsfdsaf')")
      Set TheTable = Nothing
      Set Catalog = Nothing
End Sub
if dbReady(dbName) then fso.DeleteFile(dbName)
CreateNewMDB dbName, Jet4x, tableName, request.QueryString("survey_id")
do
      i=i+1
      if dbReady(dbName) then exit do
      if i >=10000 then
            response.Write("error :(")
            exit do
      end if
loop
response.Redirect(dbPath)
 %>

please help
0
kojoman
Asked:
kojoman
1 Solution
 
Arthur_WoodCommented:
try this - change:

  set conn2 = server.CreateObject("ADODB.connection")
  conn2.open(catalog.activeConnection)

to:

set conn2 = catalog.activeConnection
conn2.execute("INSERT INTO test VALUES(123,'asdfsafd','safsfdsaf')")

since catalog.ActiveConnection is a VALID connection object, you simply use it, rather than creating a NEW connection.

AW
0
 
kojomanAuthor Commented:
Thanks man!
I had it like that from the beginning, but then there were some other stuff that didn't work and in the intense debugging I changed it to see if that solved the current problem, which didn't get affected at all.
It works great now. Thanks a lot.
-johan
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now