Ошибка преобразования в тип varchar значение "12345" в тип данных int
я пытаюсь использовать этот код для удаления записей из моей базы данных, но у меня есть эта ошибка.
мой тип столбца для id-это (int), в чем проблема
List<string> selectedIds = new List<string>(); foreach (DataGridViewRow item in advancedDataGridView1.Rows) { if (bool.Parse(item.Cells[0].Value.ToString())) { selectedIds.Add("'" + item.Cells[1].Value.ToString() + "'"); // collecting all ids } } String sql = "delete from tabl where id in(@idsToDelete)"; using (SqlConnection cn = new SqlConnection("Data Source=DESKTOP-J7D5POF;Initial Catalog=ilswork;Persist Security Info=True;User ID=***;Password=***")) { cn.Open(); using (SqlCommand cmd = new SqlCommand(sql, cn)) { cmd.Parameters.Add("@idsToDelete", SqlDbType.varchar).Value = string.Join(",", selectedIds); cmd.ExecuteNonQuery(); } }
Что я уже пробовал:
using (SqlCommand cmd = new SqlCommand(sql, cn)) { cmd.Parameters.Add("@idsToDelete", SqlDbType.Int).Value = string.Join(",", selectedIds); cmd.ExecuteNonQuery(); }
я получаю эту ошибку (не удалось преобразовать значение параметра из строки в Int32)
Bryian Tan
Похоже, что код передается в string вместо int
el_tot93
так что же мне делать