Вставьте смайлики в SQL Server - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь вставить смайлики в мой MS SQL.

Я использую следующий запрос для вставки:

Dim command As New SqlCommand("INSERT INTO [dbo].[emoji]([Message]) VALUES('" & "??????????☺️????????" & "')", SQLCon)

Но на моей БД он выглядит как ???????.

из комментариев
Microsoft SQL Server 2017 (окончательная первоначальная версия) - 14.0.1000.169 (X64) 22 августа 2017 г. 17:04:49 Copyright (C) Microsoft Corporation Express Edition 2017 (64-разрядная версия) на Windows 10Домашняя страница 10.0 (сборка 17134:)

Как сохранить эмодзи в том виде, в котором он находится в БД.

Ответы [ 4 ]

3 голосов
/ 04 июня 2019

Я настоятельно рекомендую вам параметризировать ваш запрос, не вводите значение. Затем, если вы объявите свой параметр как правильный тип данных, это будет работать нормально. Так что-то вроде:

Dim Emojis As String = "??????????☺️????????"

Dim SQL As String = "Insert into [dbo].[emoji]([Message]) VALUES(@Message);"
Dim command As New SqlCommand(SQL,SQLCon)

command.Parameters.Add("@Message", SqlDbType.NVarChar,100).Value = Emojis 'Guessed Length for the parameter
3 голосов
/ 04 июня 2019

Попробуйте это.

Dim command As New SqlCommand("INSERT INTO [dbo].[emoji]([Message]) VALUES(N'" & "??????????☺️????????" & "')", SQLCon)
0 голосов
/ 04 июня 2019

Вы должны использовать NVARCHAR тип данных для столбца. например.

declare @tbl table(message nvarchar(50))
insert into @tbl values(N'????????')
select * from @tbl

и я предлагаю вам использовать SqlParameter для вставки или обновления данных в столбце SQL.

0 голосов
/ 04 июня 2019

Вы можете попробовать это:

declare @t table (emoji nvarchar(50))

Insert into @t VALUES(N'??????????☺️????????')


select * from @t
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...