Nishant.Chauhan80 Ответов: 1

Исправлена ошибка при вставке запроса я хочу хранить двоичные данные в базе данных


Уважаемый господин,

Я хочу сохранить данные в базе данных с помощью запроса insert, но столкнулся с ошибкой
'Неявное преобразование из типа данных varchar в varbinary (max) не допускается. Используйте функцию CONVERT для выполнения этого запроса.'

Filedata (имя столбца) Varbinary (Max) тип данных

Мой код следующий:-
SqlCommand cmd = new SqlCommand("INSERT INTO CompRecd(ComNo, ComCat, ComSubCat, Whom, City, MobNo, PhoNo, EmailID, FileData,TimeStamp, officer, HouseNo, [from], CompSubCat2, Locality ,FileDataType, Complaint , ipaddress) VALUES('" + compid + "','" + ds.Tables[0].Rows[0]["ComCat"].ToString() + "', '" + ds.Tables[0].Rows[0]["ComSubCat"].ToString() + "','" + ds.Tables[0].Rows[0]["Whom"].ToString() + "','" + ds.Tables[0].Rows[0]["City"].ToString() + "', '" + ds.Tables[0].Rows[0]["MobNo"].ToString() + "','" + ds.Tables[0].Rows[0]["PhoNo"].ToString() + "','" + ds.Tables[0].Rows[0]["EmailID"].ToString() + "','" + ds.Tables[0].Rows[0]["FileData"].ToString() + "', getdate(),'" + item.Value + "','" + ds.Tables[0].Rows[0]["HouseNo"].ToString() + "', '" + ds.Tables[0].Rows[0]["from"].ToString() + "','" + ds.Tables[0].Rows[0]["CompSubCat2"].ToString() + "','" + ds.Tables[0].Rows[0]["Locality"].ToString() + "','" + ds.Tables[0].Rows[0]["FileDataType"].ToString() + "','" + ds.Tables[0].Rows[0]["Complaint"].ToString() + "','" + ds.Tables[0].Rows[0]["ipaddress"].ToString() + "')", cnn);


Что я уже пробовал:

Я хочу сохранить данные в базе данных с помощью запроса insert, но столкнулся с ошибкой
'Неявное преобразование из типа данных varchar в varbinary (max) не допускается. Используйте функцию CONVERT для выполнения этого запроса.'

Member 12245539

Отправьте свой скрипт SQL-таблицы, чтобы показать, что я могу проверить тип данных......

Nishant.Chauhan80

Создайте таблицу [dbo].[CompRecd](
[ID] [numeric](15, 0) IDENTITY(1,1) NOT NULL,
[ComCat] [varchar] (200) NULL,
[ComSubCat] [varchar] (200) NULL,
[Who] [varchar] (100) NULL,
[HouseNo] [varchar] (200) NULL,
[Город] [варчар] (50) ноль,
[MobNo] [varchar] (20) NULL,
[PhoNo] [varchar] (25) NULL,
[EmailID] [varchar] (200) NULL,
[Жалоба] [varchar] (1000) NULL,
[TimeStamp] [datetime] NULL,
[FileData] [varbinary] (max) NULL,
[ComNo] [varchar] (25) NULL,
[офицер] [числовой] (15, 0) NULL,
[from] [numeric](15, 0) NULL,
[CompSubCat2] [varchar] (200) NULL,
[Locality] [varchar] (100) NULL,
[Комментарий] [varchar] (200) NULL,
[FileDataType] [varchar](100) NULL,
[ipaddress] [varchar] (100) NULL,
[Mark_userid] [инт] нуль,
Ограничение [compid_pk] уникальное НЕКЛАСТЕРИЗОВАННОЕ

1 Ответов

Рейтинг:
1

Animesh Datta

Привет ,
Из приведенного выше сообщения ясно, что тип данных одного столбца вашей таблицы-varbinary, но вы передаете значение varchar .

таким образом, либо измените структуру столбца с varbinary на varchar, либо передайте varbinary в качестве параметра .
Спасибо


Nishant.Chauhan80

нет я не хочу менять тип данных на таблицу

Animesh Datta

Затем перейдите ко второму варианту, который я упомянул в своем ответе .