Shawn Law Ответов: 1

Устойчив несоответствие типов между book_image свойство sourcecolumn в Byte[] и book_image для datacolumn '' объекта


Я получаю эту ошибку

Устойчив несоответствие типов между book_image свойство sourcecolumn в Byte[] и book_image для datacolumn '' объекта.

Мой тип данных базы данных-BLOB для изображения.

Все мои скриншоты ошибок находятся в imgur здесь >> скриншоты - альбом на Imgur[^]


Для каждого скриншота я написал описание, чтобы описать проблему..

И наконец трассировка стека:

System.InvalidOperationException was unhandled
  HResult=-2146233079
  Message=Inconvertible type mismatch between SourceColumn 'book_image' of Byte[] and the DataColumn 'book_image' of Object.
  Source=System.Data
  StackTrace:
       at System.Data.Common.DataColumnMapping.GetDataColumnBySchemaAction(String sourceColumn, String dataSetColumn, DataTable dataTable, Type dataType, MissingSchemaAction schemaAction)
       at System.Data.Common.DataColumnMapping.GetDataColumnBySchemaAction(DataTable dataTable, Type dataType, MissingSchemaAction schemaAction)
       at System.Data.Common.DataColumnMappingCollection.GetDataColumn(DataColumnMappingCollection columnMappings, String sourceColumn, Type dataType, DataTable dataTable, MissingMappingAction mappingAction, MissingSchemaAction schemaAction)
       at System.Data.Common.DataTableMapping.GetDataColumn(String sourceColumn, Type dataType, DataTable dataTable, MissingMappingAction mappingAction, MissingSchemaAction schemaAction)
       at System.Data.ProviderBase.SchemaMapping.SetupSchemaWithoutKeyInfo(MissingMappingAction mappingAction, MissingSchemaAction schemaAction, Boolean gettingData, DataColumn parentChapterColumn, Object chapterValue)
       at System.Data.ProviderBase.SchemaMapping..ctor(DataAdapter adapter, DataSet dataset, DataTable datatable, DataReaderContainer dataReader, Boolean keyInfo, SchemaType schemaType, String sourceTableName, Boolean gettingData, DataColumn parentChapterColumn, Object parentChapterValue)
       at System.Data.Common.DataAdapter.FillMappingInternal(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 schemaCount, DataColumn parentChapterColumn, Object parentChapterValue)
       at System.Data.Common.DataAdapter.FillMapping(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 schemaCount, DataColumn parentChapterColumn, Object parentChapterValue)
       at System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
       at System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
       at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
       at System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
       at System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
       at Library_Management_System.LMSDataSetTableAdapters.BooksTableAdapter.Fill(BooksDataTable dataTable) in C:\Users\laptop\Desktop\convert to materialskin\Library Management System\Library Management System\LMSDataSet.Designer.cs:line 4761
       at Library_Management_System.BookReport.BookReport_Load(Object sender, EventArgs e) in C:\Users\laptop\Desktop\convert to materialskin\Library Management System\Library Management System\BookReport.cs:line 23
       at System.Windows.Forms.Form.OnLoad(EventArgs e)
       at System.Windows.Forms.Form.OnCreateControl()
       at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
       at System.Windows.Forms.Control.CreateControl()
       at System.Windows.Forms.Control.WmShowWindow(Message& m)
       at System.Windows.Forms.Control.WndProc(Message& m)
       at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       at System.Windows.Forms.Form.WmShowWindow(Message& m)
       at System.Windows.Forms.Form.WndProc(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
  InnerException: 


Итак, основываясь на скриншотах imgur и трассировке стека, не могли бы вы, ребята, помочь мне, пожалуйста?

Я пытаюсь отобразить свои изображения в средстве просмотра отчетов...

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

Я предоставил четкую информацию о том, как мне помочь :)

Поскольку я понятия не имею, что делать с этой ошибкой, я еще ничего не предпринимал ... просто ждал, что кто-то поможет мне в правильном направлении

1 Ответов

Рейтинг:
0

Maciej Los

Сообщение об ошибке вполне понятно.
Тип данных 'book_image- поле в базе данных отличается от типа данных этого поля в объекте datatable. Измените его на правильный тип данных.


Shawn Law

Как же так? Я не знаю, как изменить тип данных, чтобы они совпадали

Вы хотите сказать, что я должен изменить тип данных datatable? Как мне это сделать? Я хочу сделать его байтовым массивом[] байт

Maciej Los

Are you saying that I should change the datatable datatype?

Да!
I want to make it a byte[] byte array

- Нет! Если вы хотите загрузить данные в datatable, это должен быть объект!

Shawn Law

Я не совсем понимаю..

Глядя на мой imgur Рисунок 3..где я выделяю систему.Объект отсюда я понимаю, что visual studio видит его как объект..

Я хочу отобразить свое изображение, представляющее собой массив байт [], в средстве просмотра отчетов..

Таким образом, изображение из базы данных представляет собой массив byte[] , но мне нужно преобразовать объект в совместимый тип..

Как сделать его совместимым? Я действительно не знаю как