powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Insert и Null
12 сообщений из 12, страница 1 из 1
Insert и Null
    #32058420
transcrulator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как добавить строку в таблицу, где параметры принимают какие-то значение так и могут быть null?

INSERT INTO Register
(Acc_ID, Tr_Date, Notes, Tr_Sum, TT_ID, Add_ID, Bud_ID, Part_ID, Obj_ID, Cost_ID)
VALUES (@Acc_ID, @Tr_date, @Notes, @Tr_Sum, @TT_ID, @Add_ID, @Bud_ID, @Part_ID, @Obj_ID, @Cos_ID)

Где @Add_ID может быть например единицей а чаще null
...
Рейтинг: 0 / 0
Insert и Null
    #32058424
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что значит "как" ?
Предложенный вами код разве не добавляет запись в таблицу именно с теми значениями, которые занесены в е перменные ?
...
Рейтинг: 0 / 0
Insert и Null
    #32058429
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а в чем проблема? возникает ошибка?
может быть на столюце установлено значение NOT NULL?
...
Рейтинг: 0 / 0
Insert и Null
    #32058436
transcrulator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OK по логике если мы хотим, чтобы колонка Add_ID для новой строки принимала значение null (а ей можно), мы просто не подставляем значение праметра @Add_ID. Дудки. В этом случае SQL выдает ошибку внешнего ключа связи этого аттрибута и ессно ничего не добавляет.
...
Рейтинг: 0 / 0
Insert и Null
    #32058440
AAron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
может есть какой-нить DEFAULT или CONSTRAINT на это поле?
...
Рейтинг: 0 / 0
Insert и Null
    #32058450
transcrulator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
нет поле как поле: int(4), vj;может содержать Null; внешний ключ этой таблицы
...
Рейтинг: 0 / 0
Insert и Null
    #32058502
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто не подставляем значение праметра @Add_ID
Можете привести полный текст скрипта ? Что у вас там - процедура ?

Дудки. В этом случае SQL выдает ошибку внешнего ключа связи этого аттрибута и ессно ничего не добавляет.

Значит все-таки в поле вставляется значение отличное от NULL. Либо Default значение либо все-таки из параметра. Лучше всего об этом "расскажет" Profiler
...
Рейтинг: 0 / 0
Insert и Null
    #32058504
Оля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
День добрый!

1. Одно из значений первичного ключа NULL ? Есть такое?

2. Может, через HTML -формы заполняете? Там, если поле пустое, это не значит NULL
...
Рейтинг: 0 / 0
Insert и Null
    #32058609
transcrulator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попытаюсь объяснить максимально подробно, возможно, я в коде чего-то напутал. Итак есть некая форма добавляющая записи в основную таблицу, которя содержит массу комбобоксов - туда значение подставляются из соответсвующих справочников. При этом если значение кого-то из них не выбирается, то оно неважно и в таблице должно прописаться null.

Код на добавление (VB.Net):


Tr_Acc.Open()

Try

SqlInsertCommand1.Parameters("@Acc_ID").Value = Register.accid.SelectedValue
SqlInsertCommand1.Parameters("@Tr_Date").Value = Register.trdate.Value
SqlInsertCommand1.Parameters("@Notes").Value = TextBox2.Text
SqlInsertCommand1.Parameters("@Tr_sum").Value = TextBox1.Text
SqlInsertCommand1.Parameters("@TT_ID").Value = ComboBox7.SelectedValue
SqlInsertCommand1.Parameters("@Add_ID").Value = ComboBox1.SelectedValue
SqlInsertCommand1.Parameters("@Bud_ID").Value = ComboBox6.SelectedValue
SqlInsertCommand1.Parameters("@Part_ID").Value = ComboBox2.SelectedValue
SqlInsertCommand1.Parameters("@Obj_ID").Value = ComboBox3.SelectedValue
SqlInsertCommand1.Parameters("@Cost_ID").Value = ComboBox6.SelectedValue
SqlInsertCommand1.ExecuteNonQuery()
Catch

Dim ec As Exception

MsgBox("Проверьте, возможно в графе сумма вы ввели точку, вместо запятой!")
Finally
Tr_Acc.Close()
End Try


строка комманды Sqlinsertcommand1:

Код: plaintext
1.
2.
3.
INSERT INTO Register 
(Acc_ID, Tr_Date, Notes, Tr_Sum, TT_ID, Add_ID, Bud_ID, Part_ID, Obj_ID, Cost_ID) 
VALUES (@Acc_ID, @Tr_date, @Notes, @Tr_Sum, @TT_ID, @Add_ID, @Bud_ID, @Part_ID, @Obj_ID, @Cos_ID) 


При попытки добавления, если хотя бы одно значение из комбобокса не выбрано SQL ругается, причем даже не в состоянии выявить ошибку
...
Рейтинг: 0 / 0
Insert и Null
    #32058623
Sanek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
незнаю как в VB.Net, но в Delphi , если значение ComboBox не выбрано , то стоит -1 (минус один)
...
Рейтинг: 0 / 0
Insert и Null
    #32058624
Фотография Chicago
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрим MSDN:

ComboBox.SelectedItem Property

Property Value

The object that is the currently selected item or a null reference ( Nothing in Visual Basic) if there is no currently selected item.

А чтобы передать в параметре команде значение Null, ему и нужно присвоить Null. В VB значения Null и Nothing не эквивалентны.
...
Рейтинг: 0 / 0
Insert и Null
    #32058674
transcrulator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Chicago - действительно помогло. Спасибо
2 all Спасибо всем кто откликнулся
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Insert и Null
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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