Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Добавление записи в базу SQL Server / 13 сообщений из 13, страница 1 из 1
08.07.2002, 11:06:39
    #32035512
Михаил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Привет!

Долго искал ответ на свой вопрос, однако не нашел. Может, Вы подскажете?

Есть база данных в SQL 2000. Имеется таблица, в которой одно поле представляет собой счетчик - identity. Нужно из ASP - кода вставить запись в базе данных - insert into table(id,name) values (1,'Michael') Как сделать, чтобы работал автоинкремент.

Заранее спасибо.

Михаил.
...
Рейтинг: 0 / 0
08.07.2002, 11:15:56
    #32035517
noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
А зачем указывать поле счетчику значение, оно как бы автоматом генерируется SQL Server-ом???
...
Рейтинг: 0 / 0
08.07.2002, 11:23:28
    #32035522
Михаил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Нужно в ASP указать строку INSERT INTO table(id,firstname) VALUES (1,'Иванов') Что писать вместо 1.
...
Рейтинг: 0 / 0
08.07.2002, 11:25:50
    #32035523
noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Его можно не указывать
...
Рейтинг: 0 / 0
08.07.2002, 11:27:27
    #32035526
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
INSERT INTO table(firstname) VALUES ('Иванов')
...
Рейтинг: 0 / 0
08.07.2002, 11:30:22
    #32035527
noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
да!
...
Рейтинг: 0 / 0
08.07.2002, 11:35:31
    #32035529
Михаил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Фиг Вам, говорит....

[Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'id', table 'it-education.dbo.testtable'; column does not allow nulls. INSERT fails.

id у меня primary key
...
Рейтинг: 0 / 0
08.07.2002, 11:43:38
    #32035531
noname
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Надеюсь что поле id у вас автоинкрементное???
Null там не может быть, так как сервер должен подставить сам значение...
...
Рейтинг: 0 / 0
08.07.2002, 11:54:05
    #32035533
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Не знаю, что у вас там за таблица, но поле со свойством identity нужно указывать в INSERT только если установлена соответсвующая опция (SET IDENTITY_INSERT )

В приведенном ниже скрипте только последний INSERT вызовет ошибку

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
use tempdb
go
create table x(id int identity primary key, firstname nvarchar( 50 ))
go
select * from X
insert x(firstname) values(N'Иванов')
select * from X
go
insert x values(N'Петров')
select * from X
go

SET IDENTITY_INSERT x ON
go
insert x values(N'Сидоров')
go

drop table x
...
Рейтинг: 0 / 0
08.07.2002, 12:17:02
    #32035536
Ignat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Когда работал еще с DELPHI, там в некоторых случаях, при создании набора данных, надо было указывать, что поле инкрементное. Может у Вас что-нибудь подобное.
...
Рейтинг: 0 / 0
08.07.2002, 13:02:53
    #32035547
Михаил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Вот моя таблица:

CREATE TABLE [dbo].[testtable] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[firstname] [char] (10) COLLATE Cyrillic_General_CI_AS NULL
) ON [PRIMARY]

а вот фрагмент кода для вставки:

<%
Set db = Server.CreateObject("ADODB.Connection")
db.Open "it-education","sa","pwd"
sSQL = "INSERT INTO testtable(firstname) VALUES ('Mike')
Set rs = db.Execute(sSQL)
db.close
set db=nothing
%>

Не работает....
...
Рейтинг: 0 / 0
08.07.2002, 18:27:11
    #32035648
Andrew
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
У меня Ваш код работает за исключеним этой строки:

sSQL = "INSERT INTO testtable(firstname) VALUES ('Mike')

Это описка, то что кавычки не закрыты...
...
Рейтинг: 0 / 0
09.07.2002, 08:10:14
    #32035689
Михаил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление записи в базу SQL Server
Спасибо всем за ответы. Andrew, кавычки здесь ни при чем - это я фрагмент кода скопировал не совсем удачно... :)

А проблема в чем заключалась, я так и не понял. В конце концов грохнул таблицу, благо записей в ней было 2 шт. и создал заново. Все заработало. Жаль только, полдня потерял... Глюк-с.

Всех благ,

Михаил
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Добавление записи в базу SQL Server / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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