Dim strDbName As String
strDbName = Application.StartupPath.Remove(Application.StartupPath.Length - 4, 4) + "\db\" + DiscDBName
Dim catConnection As ADOX.Catalog
catConnection = New ADOX.Catalog
catConnection.Create("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDbName)
catConnection = Nothing
Dim con As ADODB.Connection
Dim strSQL As String
con = New ADODB.Connection
con.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDbName)
strSQL = "CREATE TABLE Razdeli (" & _
"Razd_ID int," & _
"Razdel VarChar(150));"
con.Execute(strSQL)
strSQL = "CREATE TABLE Topics (" & _
"Razd_ID int," & _
"Topic_ID int," & _
"Topic VarChar(150));"
con.Execute(strSQL)
strSQL = "CREATE TABLE Questions (" & _
"Topic_ID int," & _
"Quest_ID int," & _
"Var int," & _
"Question VarChar(150)," & _
"Ans_Num int);"
con.Execute(strSQL)
strSQL = "CREATE TABLE Answers (" & _
"Quest_ID int," & _
"Ans_ID int," & _
"Answer VarChar(150)," & _
"Ans_Key Bit);"
con.Execute(strSQL)
strSQL = "CREATE TABLE Variants (" & _
"ID int," & _
"Variant VarChar(150));"
con.Execute(strSQL)
con = Nothing
Vinechka писал(а):Черт, я совсем не знаток по базам в дот нет, но разве нет (в твоем случае) con.close?
Loiste писал(а):Поставила con.Close() перед con = Nothing. Не помогло. Наверно надо как-то закрыть ADOX соединение? Но везде пишут о закрытии ADODB соединений..а как отловить активное соединение?
Dim DB As ADODB.Connection
Dim RS As ADODB.Recordset
Dim App As String
App = Application.StartupPath
db = New ADODB.Connection()
db.CursorLocation = ADODB.CursorLocationEnum.adUseClient
DB.Open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App & "\play.mdb;Mode=Share Deny None;")
RS = New ADODB.Recordset()
RS.Open("select * from file", DB, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
RS.Close() 'state рекордсета становится = 0
DB.Close() 'state соединения становится = 0
Dim strDbName As String
strDbName = Application.StartupPath.Remove(Application.StartupPath.Length - 4, 4) + "\db\" + DiscDBName
'creation of new database
Dim catConnection As ADOX.Catalog
catConnection = New ADOX.Catalog
catConnection.Create("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDbName)
Dim con As ADODB.Connection
Dim strSQL As String
con = New ADODB.Connection
con.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDbName)
catConnection.ActiveConnection = con
strSQL = "CREATE TABLE Razdeli (" & _
"Razd_ID int," & _
"Razdel VarChar(150));"
con.Execute(strSQL)
strSQL = "CREATE TABLE Topics (" & _
"Razd_ID int," & _
"Topic_ID int," & _
"Topic VarChar(150));"
con.Execute(strSQL)
strSQL = "CREATE TABLE Questions (" & _
"Topic_ID int," & _
"Quest_ID int," & _
"Var int," & _
"Question VarChar(150)," & _
"Ans_Num int);"
con.Execute(strSQL)
strSQL = "CREATE TABLE Answers (" & _
"Quest_ID int," & _
"Ans_ID int," & _
"Answer VarChar(150)," & _
"Ans_Key Bit);"
con.Execute(strSQL)
strSQL = "CREATE TABLE Variants (" & _
"ID int," & _
"Variant VarChar(150));"
con.Execute(strSQL)
con.Close()
con = Nothing
catConnection = Nothing
Dim catConnection As ADOX.Catalog
catConnection = New ADOX.Catalog
catConnection.Create("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDbName)
Dim con As ADODB.Connection
Dim strSQL As String
con = New ADODB.Connection
con.Open("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & strDbName)
catConnection.ActiveConnection = con
con.Execute(strSQL)
con.Close()
con = Nothing
catConnection = Nothing
con = Nothing
catConnection = Nothing
и при попытке создать данной функцией несколько файлов подряд, все они заняты
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18