Что нового

[Ошибки] перестал работать SQLite.не пойму в чем дело

labudator

Новичок
Сообщения
25
Репутация
0
Не пойму где я затупил.
файлы sqlite3.dll
и sqlite3.def

в папку со скриптом подкинул.

код простой для примера. просто создать базу.

но сразу же после
Код:
_SQLite_Startup()

вылетает ошибка.

1 - Error calling SQLite API 'sqlite3_exec' (из справки)


Код:
;Created with ISN AutoIt Studio v. 1.07
;*****************************************

#include <SQLite.au3>
#include <SQLite.dll.au3>


_SQLite_Startup()

If @error Then
    MsgBox($MB_SYSTEMMODAL, "SQLite Error", @error)
    Exit -1
EndIf
ConsoleWrite("_SQLite_LibVersion=" & _SQLite_LibVersion() & @CRLF)



$sql = ""																							& _	
	"CREATE TABLE LST_FILES ("																			& _
					"file_id INTEGER NOT NULL PRIMARY KEY,"								& _
					"file_name VARCHAR NOT NULL,"														& _
					"file_path VARCHAR NOT NULL,"														& _
					"file_er BOOLEAN NOT NULL DEFAULT 0);"												& _
	"CREATE UNIQUE INDEX idx_file_name ON LST_FILES (file_name);"										& _
	"CREATE TABLE PARTS ("																				& _
		"part_id INTEGER NOT NULL PRIMARY KEY,"													& _
		"part_name varchar NOT NULL);"																	& _
	"CREATE UNIQUE INDEX idx_part_name ON PARTS (part_name);"										& _
	"CREATE TABLE parts_and_file_assignment ("															& _
		"part_id INTEGER CONSTRAINT idx_foreign_part REFERENCES PARTS(part_id) ON DELETE CASCADE,"		& _
		"file_id INTEGER CONSTRAINT idx_foreign_file REFERENCES LST_FILES(file_id) ON DELETE CASCADE);"	& _
	"CREATE UNIQUE INDEX idx_part_file_accord ON parts_and_file_assignment (part_id ASC, file_id ASC);"	 ;	
	
	_SQLite_Open(@ScriptDir & "\database.db")

_SQLite_Exec (-1,$sql)


_SQLite_Close()
_SQLite_Shutdown()
 

Атос

Новичок
Сообщения
85
Репутация
0
Это файл-библиотека для компилятора из Visual Studio.

labudator, всё там работает. Вам надо кидать sqlite3.dll в папку со своими UDFs "Include\sqlite3.dll".
Убедитесь, что ваша версия sqlite3.dll совпадает с версией, которая обозначена в UDF "\Include\SQLite.dll.au3".
Если будет показывать мэседж 1, тогда это значит, что не найдена DLLка, и вам надо будет править UDF "Include\SQLite.au3".
 
Верх