Вставка значения 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                  

Вы хотите использовать ничего.

myStringVar = Ничего

Другие вопросы по тегам