Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Не втыкается запись в таблицу MS Access / 16 сообщений из 16, страница 1 из 1
29.11.2007, 12:35
    #34974496
Непонимач
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Запрос примерно такого вида:
Код: plaintext
1.
insert into players (Login, Password, RegDate, Email, FirstName, LastName, Patronymic, StationId, Age, ICQ, Gender, Range, Foto, Active, Admin, UID)  
select "123", "123", "11/29/2007 12:00:00 AM", "aaa@mail.ru", "123", "", "",  0 ,  0 , "", 1 ,  1 ,"",  0 ,  0 ,"";
пробовал запрос и так
Код: plaintext
1.
insert into players (Login, Password, RegDate, Email, FirstName, LastName, Patronymic, StationId, Age, ICQ, Gender, Range, Active, Admin, UID)  
values ("123", "123", "11/29/2007 12:00:00 AM", "aaa@mail.ru", "123", "", "",  0 ,  0 , "", 1 ,  1 ,"",  0 ,  0 ,"")
Оба запроса отрабатывают нормально в самом Access, а в ASPX выдает ошибку:
Код: plaintext
1.
2.
3.
4.
Index # 0 
Message: Syntax error in INSERT INTO statement.
NativeError: - 529993134 
Source: Microsoft JET Database Engine
SQLState:  3000 
при этом где именно ошибка непонятно :(.
Есть еще один нюанс в самом акцессе запрос отрабатывает нормально только когда в таблице нет записей вообще, когда есть хотя бы одна запись выдает, то, что изображено на картинке внизу, при том, что в таблице вообще нет ограничений на непустоту и на укниальность полей и праймери кея нети если нажать "Да", то вставляет.

Различие еще в том, что в aspx не хочет вставлять даже в пустую таблицу.
Как быть с aspx?
...
Рейтинг: 0 / 0
29.11.2007, 12:58
    #34974625
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
вы не видите причины не внесения записи?
там же написано, ошибка уникальности ключа, какое ключевое поле?
...
Рейтинг: 0 / 0
29.11.2007, 12:59
    #34974630
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Что то сомневаюсь я что в таблице нет ключей и ничего на уникальность и такая вот ошибка
...
Рейтинг: 0 / 0
29.11.2007, 13:14
    #34974705
Непонимач
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Да одно поле все-таки нашел с уникальным индексом - забыл про него совсем (UID).
Прошелся по всем полям убрал все индексы вообще, все поля необязательны для заполнения и могут быть пустыми (не знаю как из акцесс достать полную структуру таблицы, чтобы показать, если это вообще возможно).
Но теперь суть такая, что в акцессе эти сгенерированные в .NET запросы втыкаются без всяких предупреждений,
а в ASPX - продолжает ругаться
...
Рейтинг: 0 / 0
29.11.2007, 13:50
    #34974851
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
А если так? Не помню только нужны ли кавычки для поля даты или нет
Код: plaintext
1.
insert into players (Login, Password, RegDate, Email, FirstName, LastName, Patronymic, StationId, Age, ICQ, Gender, Range, Foto, Active, Admin, UID)  
select "123", "123", "#11/29/2007 12:00:00 AM#", "aaa@mail.ru", "123", "", "",  0 ,  0 , "", 1 ,  1 ,"",  0 ,  0 ,"";
...
Рейтинг: 0 / 0
29.11.2007, 14:31
    #34975046
Непонимач
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Попробовал так:
Код: plaintext
"#11/29/2007 12:00:00 AM#"
так
Код: plaintext
# 11 / 29 / 2007   12 : 00 : 00  AM#
и так
Код: plaintext
# 11 / 29 / 2007   12 : 00 : 00  AM
Все та же ошибка.
...
Рейтинг: 0 / 0
29.11.2007, 14:37
    #34975074
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Блин, через VALUES попробуйте, селект без таблицы в аксесе не работает
...
Рейтинг: 0 / 0
29.11.2007, 14:39
    #34975078
Непонимач
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
select без таблицы в акцессе работает - я же говорю в акцессе запрос проходит
и с
Код: plaintext
# 11 / 29 / 2007   12 : 00 : 00  AM#
кстати тоже, но только в акцессе
и потом через values и пробовал изначально - такая же ерунда.
...
Рейтинг: 0 / 0
29.11.2007, 14:45
    #34975115
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Непонимачselect без таблицы в акцессе работает - я же говорю в акцессе запрос проходит
и с
Код: plaintext
# 11 / 29 / 2007   12 : 00 : 00  AM#
кстати тоже, но только в акцессе
и потом через values и пробовал изначально - такая же ерунда.
Странно, в 2000 не работал селект без таблицы.

Тогда нужно искать какое то более вразумительное сообщение об ошибке ))
...
Рейтинг: 0 / 0
29.11.2007, 14:48
    #34975127
Непоним
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Может сам код нетакй какой-то?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
    Private Sub Button_Reg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Reg.Click
        Dim Err As String = ""
        Dim Cs As String = DBClass.CnString(Server.MapPath("tennis.mdb"))
        Dim Connection As New OleDbConnection(Cs)
        Dim Exc As OleDbException
        Dim Cm As New OleDbCommand
        Try
                'проверим нет ли уже такого пользователя в базе по логину
                Connection.Open()
                Dim Gender As String = "1"
                If RBFemale.Checked Then Gender = "0"
                Dim Age As String = "0"
                Dim UID As String = System.Guid.NewGuid.ToString
                If TAge.Text <> "" Then Age = TAge.Text
                Cm.CommandText = "insert into players " & _
                       "(Login, Password, RegDate, " & _
                       "Email, FirstName, LastName, Patronymic, StationId, " & _
                       "Age, ICQ, Gender, Range, Foto, Active, Admin, UID) " & _
                       " values (""" & TLogin.Text & """, """ & TPass.Text & _
                              """, #" & System.DateTime.Today.ToString() & "#, """ & _
                              TEmail.Text & """, """ & TFirstName.Text & """, """ & _
                              TLastName.Text & """, """ & TPatronimic.Text & """, " & _
                              DLMetro.SelectedValue & ", " & Age & ", """ & _
                              TICQ.Text & """," & Gender & ", " & DLRanges.SelectedValue & _
                              ","""", 0, 0,""" & UID & """)"
                    Cm.ExecuteNonQuery()
                End If
            Catch Ex As OleDbException
                Dim i As Integer
                For i =  0  To Ex.Errors.Count -  1 
                    Err += "Index #" & i.ToString() & ControlChars.Cr _
                                   & "Message: " & Ex.Errors(i).Message & ControlChars.Cr _
                                   & "NativeError: " & Ex.Errors(i).NativeError & ControlChars.Cr _
                                   & "Source: " & Ex.Errors(i).Source & ControlChars.Cr _
                                   & "SQLState: " & Ex.Errors(i).SQLState & ControlChars.Cr
                Next i
            Finally
                If Connection.State = ConnectionState.Open Then Connection.Close()
                ErrTextBox.Text = Err + "   " + Cm.CommandText
                ErrTextBox.Visible = True
            End Try
...
Рейтинг: 0 / 0
29.11.2007, 14:49
    #34975135
Непонимач
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Не знаю как в 2000 было - это на 2003-м.
А как бы его найти вот вопрос :)
...
Рейтинг: 0 / 0
29.11.2007, 14:59
    #34975194
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
А что если на вставку попробовать оставить только 1 поле например логин? Вставится или нет?


Да и хинт еще, лучше юзайте параматризированные запросы, а то введут в логин вам что то вроде
Пупки"н и ляжет у вас запрос)
...
Рейтинг: 0 / 0
29.11.2007, 15:01
    #34975202
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
НепонимМожет сам код нетакй какой-то?


Да и что то я не вижу у вас указания какой коннект использовать для команды
...
Рейтинг: 0 / 0
29.11.2007, 15:19
    #34975337
Непонимач
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
да - если просто
Код: plaintext
insert into players (Login)  values ("555")
То заработало - буду смотреть из-за какого поля тогда, убирая по одному.
...
Рейтинг: 0 / 0
29.11.2007, 15:38
    #34975432
Непонимач
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Все поля по отдельности втыкаются,
А вот одно поле Password - не втыкатеся никак.
И причин для этого никаких нет.
И самое интересное - переименовал поле Password в Access просто в Pass
ЗАРАБОТАЛО
Жесть однако.... фух... спасибо всем...
ну и косяки же - может, оно как-то зарезервировано, фиг знает....
...
Рейтинг: 0 / 0
29.11.2007, 15:40
    #34975438
Думающий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не втыкается запись в таблицу MS Access
Понятно, служебное слово в названии поля, я и не обратил внимания то, по идее если взять его в квадратные скобки, тоже работало бы. Но лучше конечно переименовать ))
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Не втыкается запись в таблицу MS Access / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]