Вставка значения NULL для строковой переменной в vb.net
Я пытаюсь вставить значение NULL в переменную типа строки. Пожалуйста, дайте мне знать возможные способы сделать это. Я погуглил об этой проблеме и обнаружил, что DBNul.value может быть назначен определенной переменной, которая должна быть вставлена как NULL. Когда я попробовал это с ошибкой говоря, DB.Null не может быть преобразован в тип system.string
,
3 ответа
Вы можете присвоить NULL-значение строке, установив ее в ничего
dim MyString as string
MyString = nothing
VBNull.Value обычно используется для применения нулевого значения при использовании вставки в базу данных или для проверки, является ли полученное значение нулевым.
РЕДАКТИРОВАТЬ: Как вы уже поняли, что вы хотите добавить нулевое значение в базу данных, это может быть достигнуто путем установки нулевого значения непосредственно в объекте команды:
Dim Command As New OleDb.OleDbCommand 'Use the proper database command
Command.CommandText = "INSERT INTO Table (Column1, Column2) Values (@Value1, @Value2)"
Command.Parameters.AddWithValue("@Value1", If(string.IsNullOrEmpty(MyString1), DBNull.Value, MyString1))
Command.Parameters.AddWithValue("@Value2", If(string.IsNullOrEmpty(MyString2), DBNull.Value, MyString2))
Используя Linq to SQL или аналогичную Entity Framework, вы можете хранить DBNull, используя Nothing
У меня есть простая таблица с...
CREATE TABLE [dbo].[Table_1](
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[TestID] [bigint] NOT NULL,
[Description] [nchar](10) NULL,
и используя этот код...
Sub Main()
Using dc As New DataClasses1DataContext
Dim testNothing = New Table_1
testNothing.Description = Nothing
testNothing.TestID = 1
dc.Table_1s.InsertOnSubmit(testNothing)
Dim testEmpty = New Table_1
testEmpty.Description = ""
testEmpty.TestID = 2
dc.Table_1s.InsertOnSubmit(testEmpty)
dc.SubmitChanges()
End Using
End Sub
содержимое таблицы...
IDTestIDОписание
11NULL
22