Не удалось преобразовать значение параметра от Гуида до Строки

Я в конце своего знания и погуглен для ответа также, но никакой удачи:/

Неделю назад все работало хорошо.

Я сделал возвращение на репозитории, воссоздал tableadapter, и т.д.... ничто не помогло.

Когда я пытаюсь сохранить в своем приложении, я получаю SystemInvalidCastException в этой точке:

PersonListDataSet.cs:

partial class P_GroupTableAdapter
{
    public int Update(PersonListDataSet.P_GroupDataTable dataTable, string userId)
    {
        this.Adapter.InsertCommand.Parameters["@userId"].Value = userId;
        this.Adapter.DeleteCommand.Parameters["@userId"].Value = userId;
        this.Adapter.UpdateCommand.Parameters["@userId"].Value = userId;

        return this.Update(dataTable); **<-- Exception occurs here**
    }
}

Все застревает здесь, потому что Гуид - и я проверил, что предварительный просмотр таблицы данных с усилителем оснащает действительно, истинный Гуид в столбце таблицы данных - не может быть преобразован в строку??? Как это может произойти?

5
задан Oded 20 April 2010 в 12:05
поделиться

2 ответа

Все наоборот. Ваш userId - это строка, и вам нужно значение GUID для ваших параметров:

 Parameters["@userId"].Value = new Guid(userId);

При условии, что UserId находится в одном из поддерживаемых форматов для GUID. Конструктор поддерживает множество форматов .

Редактировать на основе комментариев ниже:

Оказывается, вы спрашиваете, как запустить оператор select, например:

SELECT ....
WHERE '{BB6DFF45-FDA7-4155-86D0-0CBF129A9104}' = `domainname\\jondoe`

Я думаю, вам следует перепроверить свою модель данных и найти решение.

6
ответ дан 14 December 2019 в 04:33
поделиться

Вы пробовали:

this.Adapter.InsertCommand.Parameters["@userId"].Value = new Guid(userId);
this.Adapter.DeleteCommand.Parameters["@userId"].Value = new Guid(userId);
this.Adapter.UpdateCommand.Parameters["@userId"].Value = new Guid(userId);

Надеюсь, это поможет !!!

2
ответ дан 14 December 2019 в 04:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: