|
|
|
не вставляются данные в базу
|
|||
|---|---|---|---|
|
#18+
Здрасте всем ! Есть проблема со вставкой данных в таблицу базы. Я не могу понять в чём дело, на сервере сайтик с формами добавления данных в 2 базы. так в одну базу вставляет данные, в другую не хочет. Пишет - " ...Error Type: Microsoft OLE DB Provider for ODBC Drivers ( 0x80040E14 ) [Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement. .... " (причем select работает, а insert не хочет) Вообщем подробности : в аксесе создал базу, в ней таблицу Invoice с полями id, number, dat1, dat2, otkogo, soder. Все поля текстовые. В ОДБС подключил как microsoft access driver *.mdb, назвал как docs. создал асп страничку, которая добавляет инфу в базу : <%@ LANGUAGE = JavaScript%> <% // заполнение переменых данными из формы var type=Request.Form("type"); var id=Request.Form("id"); var number=Request.Form("number"); var soder=Request.Form("soder"); var sqlstr; // открытие подключения к базе даннных var dbconn=Server.CreateObject("ADODB.Connection"); dbconn.Open("DSN=docs"); if (type == "invoice") { var date1=Request.Form("date_vist_day")+ " " + Request.Form("date_vist_month") + " " + Request.Form("date_vist_year"); var date2=Request.Form("date_poluc_day")+ " " + Request.Form("date_poluc_month") + " " + Request.Form("date_poluc_year");; var otkogo=Request.Form("otkogo"); sqlstr = "INSERT INTO Invoice (Id, Number, Dat1, Dat2, Otkogo, Soder) VALUES ('"+id+"','"+number+"','"+date1+"','"+date2+"','"+otkogo+"','"+soder+"')"; Response.Write("<br>"+sqlstr); dbconn.Execute(sqlstr); Response.Write("<br>Информация добавлена в базу<br>Для повторного добавления нажмите на ссылку - DOCS add"); } вообщем ругается он на эту строчку - dbconn.Execute(sqlstr); хотя в другую базу добаляет , а синтаксис везде одинаков ( названия полей другие просто). Кто в курсе где тут грабли, подскажите плз, я уже не знаю что делать 8-( ЗЫ. на форуме уже обсуждали эту ошибку, только в одном топике чел сказал что всё дело в каких-то триггерах. А я вообще не знаю что это такое и с чем его едят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2004, 12:17:32 |
|
||
|
не вставляются данные в базу
|
|||
|---|---|---|---|
|
#18+
Dutchsqlstr = "INSERT INTO Invoice (Id, Number, Dat1, Dat2, Otkogo, Soder) VALUES ('"+id+"','"+number+"','"+date1+"','"+date2+"','"+otkogo+"','"+soder+"')"; для начала попробуй так написать: sqlstr = "INSERT INTO Invoice (Id, Number, Dat1, Dat2, Otkogo, Soder) VALUES ('"+id+"','"+number+"', CDate('"+date1+"'),CDate('"+date2+"'),'"+otkogo+"','"+soder+"')"; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2004, 12:35:25 |
|
||
|
не вставляются данные в базу
|
|||
|---|---|---|---|
|
#18+
надо конструктором в Access посмотреть структуру Invoice очень НЕ нравиться название поля Number - оно в SQL зарезервировано под тип данных - стоит сменить на MyNumber ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2004, 12:39:20 |
|
||
|
не вставляются данные в базу
|
|||
|---|---|---|---|
|
#18+
Алилуя !!!! 8-) Спасибо всем, заработало. Действительно Number - он ругался именно на него, почему я раньше не сообразил, незнаю 8-) 2 stag : cdate() вставляет в виде "23.07.2004", а мне нужен месяц написаный буквами. Да и проще (интуитивно понятнее для меня) мой метод 8-). Dutch ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.07.2004, 12:49:23 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1590&tid=1672993]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
20ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 179ms |
| total: | 254ms |

| 0 / 0 |
