Я работаю с несколькими формами, и до сих пор я понял, что действительно нет способа взять пустое текстовое поле и вставить его в базу данных как null.Возьмем пустое текстовое поле как null
, например, если текстовое поле пусто в:
<asp:TextBox id="tb0" runat="server"></asp:TextBox>
<asp:TextBox id="tb1" runat="server"></asp:TextBox>
<asp:TextBox id="tb2" runat="server"></asp:TextBox>
Но заполнили текстовые поля, окружающие его
Есть ли способ для запроса к, при запуске, выглядеть следующим образом:
INSERT INTO table_name VALUES ('test0', null, 'test2')
Вместо того, чтобы прокручивать и изменять значения в пробелы? Пробельное прекрасно, когда они VARCHAR поля, но и для целых чисел/даты это очень раздражает
Вот часть одного из моих вставок
"INSERT INTO Customer VALUES(" + custID + " , @mastName, @custName, @addrLn1, @addrLn2, @cCity, @cState, @cZip, @cZip4, @cCountry, @cusSince, @renewalDate)"
BTW CustID не является параметр, поскольку он является поплавком и когда я поставил его в качестве параметра значение испортится (например, 105,05 превратится в 105.0498 ..)
Можете ли вы показать код, в котором вы фактически готовите и выполняете вставки базы данных? –
Если вы начнете с параметризованных запросов (как и должно быть), вам будет легко указать DBNull как тип параметра столбца с возможностью NULL ... Это уже описано в http://stackoverflow.com/questions/16717179/how-to- insert-null-value-in-database-through-parameterized-query –
Я обновил OT и исправил, если я ошибаюсь, но DBNull выглядит так, будто он подготавливает поле к нулю, это необязательно? Это то, что он делает? Я новичок в C#, так голый со мной .. edit: после прочтения какой-то темы я вижу, что вы имеете в виду, я дам этот выстрел – brianforan