MahmoudOmar Ответов: 1

Как сохранить нулевое значение из combobox в gridview, если оно равно null?


это мой код:-

общественные FRM_MOVES_TRANSFAR()
{
метод InitializeComponent();
FillComboboxCarPlace();
}

пустота FillComboboxCarPlace()
{
пробовать
{

служебной программы dset = новый набор данных();
с = "выбрать Place_id , Place_desc с места";
sCommand = new SqlCommand(s, con);
sdAdapter = новый SqlDataAdapter();
sdAdapter.SelectCommand = sCommand;
sdAdapter.Fill (dSet);
DataRow dr = dSet. Tables[0]. NewRow();
д-р.ItemArray = новый объект[2] { 0, " ---выберите--- " };
служебной программы dset.Таблицы[0].Строк.InsertAt(dr, 0);
по каждому элементу (ячейки datagridviewrow строку в dataGridView1.Строк)
{
int index = 5;
var cbxMove = строка.Ячейки[индекс] как DataGridViewComboBoxCell;
cbxMove.ValueMember = "Place_id";
cbxMove.DisplayMember = "Place_desc";
cbxMove.DataSource = dSet. Tables[0];
}

}
ловить
{
вернуть;
}
}
частная btn_save_Click недействительным(объект отправителя, EventArgs в электронной)
{
по каждому элементу (элемент ячейки datagridviewrow в dataGridView1.Строк)
{

s = " вставить в Move_Transfer (Car_id, busy, damage, withoutDriver,Place_id,fromDate, user_name_save, Save_Date) ";
S = s + " значения (@Car_id,@busy,@damage,@withoutDriver,@Place_id,@fromDate, @user_name_save, CURRENT_TIMESTAMP) ";
sCommand = new SqlCommand(s, con);
скоманд.Параметры.AddWithValue ("@Car_id", item.Клетки[1].Значение.Метод toString());
скоманд.Параметры.AddWithValue ("@busy", item.Ячейки[2]. значение = = null ? строка.Пустой элемент.Клеток[2].Значение.Метод toString());
скоманд.Параметры.AddWithValue ("@damage", item.Ячейки[3]. значение = = null ? строка.Пустой элемент.Клеток[3].Значение.Метод toString());
скоманд.Параметры.AddWithValue ("@withoutDriver", item.Ячейки[4]. значение = = null ? строка.Пустой элемент.Клеток[4].Значение.Метод toString());
скоманд.Параметры.AddWithValue ("@Place_id", item.Ячейки[5]. значение = = "NULL"? строка.Пустой элемент.Ячейки[5]. Значение);
скоманд.Параметры.AddWithValue ("@fromDate", dateTimePicker_form. Text);
скоманд.Параметры.AddWithValue ("@user_name_save", имя пользователя);
скоманд.Метод executenonquery();
}
}

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

моя проблема когда я не выбираю какое либо значение в combobox он дал мне ошибку он не может сохранить нулевое значение :-
скоманд.Параметры.AddWithValue ("@Place_id", item.Ячейки[5]. значение = = null ? строка.Пустой элемент.Ячейки[5]. Значение);

1 Ответов

Рейтинг:
10

phil.o

Может быть, заменить

string.Empty

с
DBNull.Value

Однако соответствующий столбец должен быть обнулен.


Member 12245539

ОТПРАВЬТЕ СВОЙ SQL-ЗАПРОС ТИПА ДАННЫХ QUERRY...........

phil.o

Простите, что?

Member 12245539

Отправьте свою таблицу sql, чтобы можно было узнать тип данных....

phil.o

У меня такое чувство, что вы говорите не с тем человеком.
У меня нет никакой "sql-таблицы для отправки"...

Member 12245539

В какой таблице вы будете хранить значения?????????

phil.o

Тот, который указан в хранимой процедуре, то есть таблица Move_Transfer.
Поскольку я не являюсь оригинальным плакатом, Я сам нигде не буду хранить никакой ценности.

MahmoudOmar

спасибо, что он правильный и теперь работает

phil.o

Пожалуйста :)