Invalid Cast Exception Класс
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Исключение, которое выдается в случае недопустимого приведения или явного преобразования.
public ref class InvalidCastException : Exception
public ref class InvalidCastException : SystemException
public class InvalidCastException : Exception
public class InvalidCastException : SystemException
[System.Serializable] public class InvalidCastException : SystemException
[System.Serializable] [System.Runtime.InteropServices.ComVisible(true)] public class InvalidCastException : SystemException
type InvalidCastException = class inherit Exception
type InvalidCastException = class inherit SystemException
[] type InvalidCastException = class inherit SystemException
[] [] type InvalidCastException = class inherit SystemException
Public Class InvalidCastException Inherits Exception
Public Class InvalidCastException Inherits SystemException
Наследование
InvalidCastException
Наследование
InvalidCastException
Комментарии
Конструкторы
Инициализирует новый экземпляр класса InvalidCastException.
Устаревшие..
Инициализирует новый экземпляр класса InvalidCastException с сериализованными данными.
Инициализирует новый экземпляр класса InvalidCastException с указанным сообщением об ошибке.
Инициализирует новый экземпляр класса InvalidCastException указанным сообщением об ошибке и ссылкой на внутреннее исключение, вызвавшее данное исключение.
Инициализирует новый экземпляр класса InvalidCastException, используя заданное сообщение и код ошибки.
Свойства
Возвращает коллекцию пар «ключ-значение», предоставляющую дополнительные сведения об исключении.
Получает или задает ссылку на файл справки, связанный с этим исключением.
Возвращает или задает HRESULT — кодированное числовое значение, присвоенное определенному исключению.
Возвращает экземпляр класса Exception, который вызвал текущее исключение.
Возвращает сообщение, описывающее текущее исключение.
Возвращает или задает имя приложения или объекта, вызывавшего ошибку.
Получает строковое представление непосредственных кадров в стеке вызова.
Возвращает метод, создавший текущее исключение.
Методы
Определяет, равен ли указанный объект текущему объекту.
При переопределении в производном классе возвращает исключение Exception, которое является первопричиной одного или нескольких последующих исключений.
Служит хэш-функцией по умолчанию.
Устаревшие..
При переопределении в производном классе задает объект SerializationInfo со сведениями об исключении.
Возвращает тип среды выполнения текущего экземпляра.
Создает неполную копию текущего объекта Object.
Создает и возвращает строковое представление текущего исключения.
События
Устаревшие..
Возникает, когда исключение сериализовано для создания объекта состояния исключения, содержащего сериализованные данные об исключении.
Применяется к
См. также раздел
- Exception
- Обработка и создание исключений
- Преобразование типов в .NET Framework
Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
An unhandled exception of type ‘System.InvalidCastException’ occurred in kibicom.tlib.dll #1
dnclive opened this issue Mar 28, 2013 · 0 comments
An unhandled exception of type ‘System.InvalidCastException’ occurred in kibicom.tlib.dll #1
dnclive opened this issue Mar 28, 2013 · 0 comments
Comments
dnclive commented Mar 28, 2013
Additional information: Заданное приведение является недопустимым.
Возникает при приведении занчений при получении через f_val к типу отличному, от того который был задан значению при присваивании.
Поскольку приведение выполняется через (type)val, то верным оно может быть только в одной ветке наследования, либо если перегружено в приводимом классе. иначе исключение.
Нужно более или менее переписать его что бы было понятно какая именно переменная привела к проблеме
The text was updated successfully, but these errors were encountered:
System invalidcastexception заданное приведение является недопустимым
В трасировке вижу что строка(email) не учитывается при формировании sql.
ADO.NET:Выполнить Reader «SELECT TOP (1)
[t0].[a_id], [t0].[a_email], [t0].[a_url], [t0].[a_fio]
FROM [accounts] AS [t0]
WHERE [t0].[a_email] = p0″
Сведения об исключении: System.InvalidCastException: Заданное приведение является недопустимым.
[InvalidCastException: Заданное приведение является недопустимым.]
System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) +847
System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) +113
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +344
System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute(Expression expression) +49
System.Linq.Queryable.First(IQueryable`1 source) +269
Поле a_email не первичный ключ.
System invalidcastexception заданное приведение является недопустимым
Нажимаю на строчку в таблице — выдает эту ошибку (System.InvalidCastException: «Заданное приведение является недопустимым.»).
ошибка в строчке dataGridView1.SelectedRows[0].Index].Value;
В чем может быть проблема? Датагрид настроен верно, в других формах ошибку не выдает, настроены одинаково
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace CompSecurity
public partial class Workers : Form
int? id;
void LoadData(Context db)
dataGridView1.DataSource = db.Workers.ToList();
Clear();
>
void Clear()
dataGridView1.ClearSelection();
id = null;
txtBoxWorkerFIO.Text = txtBoxWorkerSalary.Text = txtBoxWorkerCitizenship.Text
= txtBoxWorkerDateOfBirth.Text = txtBoxWorkerAddress.Text = txtBoxPhone.Text = «»;
>
Worker FindWorkers(Context db)
return db.Workers.Where(s => s.WorkerId == id).First();
>
public Workers()
InitializeComponent();
>
private void Workers_Load_1(object sender, EventArgs e)
using (Context db = new Context())
LoadData(db);
>
>
private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
id = (int?)dataGridView1[0, dataGridView1.SelectedRows[0].Index].Value;
using (Context db = new Context())
Worker worker = FindWorkers(db);
txtBoxWorkerFIO.Text = worker.FIO;
txtBoxWorkerSalary.Text = worker.Salary;
txtBoxWorkerCitizenship.Text = worker.Citizenship;
txtBoxWorkerDateOfBirth.Text = worker.DateOfBirth;
txtBoxWorkerAddress.Text = worker.Address;
txtBoxPhone.Text = worker.PhoneNumber;
>
>
private void BtnInsert_Click(object sender, EventArgs e)
if (!CheckData())
MessageBox.Show(«Введите данные»);
else
using (Context db = new Context())
db.Workers.Add(
new Worker
FIO = txtBoxWorkerFIO.Text,
Salary = txtBoxWorkerSalary.Text,
Citizenship = txtBoxWorkerCitizenship.Text,
DateOfBirth = txtBoxWorkerDateOfBirth.Text,
Address = txtBoxWorkerAddress.Text,
PhoneNumber = txtBoxPhone.Text
>);
db.SaveChanges();
LoadData(db);
>
Clear();
>
private void BtnUpdate_Click(object sender, EventArgs e)
private void BtnDelete_Click(object sender, EventArgs e)
using (Context db = new Context())
Worker worker = FindWorkers(db);
if (MessageBox.Show($»Вы уверены, что хотите удалить работника ?\n», «Подтверждение удаления»,
MessageBoxButtons.YesNo) == DialogResult.Yes)
if (worker.Services.Count > 0)
var service = db.Services.Where(s => s.WorkerId == id);
foreach (Service s in service)
db.Services.Remove(s);
>
MessageBox.Show(«Также будет удалена запись о предоставлении услуг»);
>
db.Workers.Remove(worker);