почему я создаю таблицу Paradox вот так (с индексом) :
- Код: Выделить всё
S = "Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DSN=Paradox;DefaultDir=" + DBPath + ";Dbq=" + DBPath + ";CollatingSequence=ASCII;"
Set obj = CreateObject("ADODB.Command")
obj.ActiveConnection = S
obj.CommandType = 1
Dim asql As String
' создаем таблицу
asql = "create table " + BD_NAME + " (id integer, [Point] string, NumberCounter integer, Period integer, [Date] DateTime, Channel string, [Status Code] integer );"
obj.CommandText = asql
Call obj.Execute
' создаем индекс
asql = "create index " + BD_NAME + " on " + BD_NAME + " (id) with primary;"
obj.CommandText = asql
Call obj.Execute
asql = "insert into " & BD_NAME & " values (" & r1 & ", '" & (ConfigAll(i).Name) & "', '" & ConfigAll(i).Serial & "', 30, '" & dbDate(0, 0) & "', '" & CreatChanel(tmpI) & "', " & StatusCode(i, dbDate(0, 0), 0) );"
r1 = r1 + 1
obj.CommandText = asql
Call obj.Execute
то таблица создается замечательно
а когда вот так
- Код: Выделить всё
S = "Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;DSN=Paradox;DefaultDir=" + DBPath + ";Dbq=" + DBPath + ";CollatingSequence=ASCII;"
Set obj = CreateObject("ADODB.Command")
obj.ActiveConnection = S
obj.CommandType = 1
Dim asql As String
' создаем таблицу
asql = "create table " + BD_NAME + " ( [Point] string, NumberCounter integer, Period integer, [Date] DateTime, Channel string, [Status Code] integer );"
obj.CommandText = asql
Call obj.Execute
asql = "insert into " & BD_NAME & " values ( '" & (ConfigAll(i).Name) & "', '" & ConfigAll(i).Serial & "', 30, '" & dbDate(0, 0) & "', '" & CreatChanel(tmpI) & "', " & StatusCode(i, dbDate(0, 0), 0) );"
obj.CommandText = asql
Call obj.Execute
то таблица нехочет запролнятся данными больше чем на одну строку!
P.S. надо создать таблицу вида:
| Point | NumberCounter | Period | Date | Channel | Status Code|
+--------+-------------------+ ---------+-----------+----------+---------------+
| один | a10f58 | 30 |1.1.2001 | f1| 0|
....
а получается толко так
| id | Point | NumberCounter | Period | Date | Channel | Status Code|
+----+--------+-------------------+ ---------+-----------+----------+---------------+
| 1| один | a10f58 | 30 |1.1.2001 | f1| 0|
| 2| dfgf | a10df58 | 30 |1.1.2001 | f1| 0|
....
тоесть ПОЧЕМУ НЕМОГУ Я ВСТАВЛЯТЬ ДАННЫЕ В ТАБЛИЦУ БЕЗ ПОЛЯ id ?