Проблема, связанная с текстовым типом данных SQL в C#
Я удаляю строку с некоторыми условиями(в этом случае Пользователь имеет тип varchar тип данных и Любимый это Textdatatype). Но я не знаю, что запрос на удаление не работает.
Но когда я дал данные прямо так
string delquery = "Delete from Parameter Where Group = 'Favoriten' AND User = ? AND Favorite Like 'DeliverySchedule'".Тогда мой запрос на удаление работает. Но передача с параметрами не работает. Может ли кто - нибудь помочь мне в этом вопросе?
Что я уже пробовал:
private void deleteItem_Click(object sender, RoutedEventArgs e) { OleDbConnection oledbconn = dvxr.getconnR46D100(); OleDbDataAdapter oleda = new OleDbDataAdapter(); try { string username = dvxr.mDVXRT.usercode.ToString(); string favname = dvxr.mDVXRT.favoritename.ToString(); string delquery = "Delete from Parameter Where Group = 'Favoriten' AND User = ? AND Favorite Like ? "; OleDbCommand olecmd = new OleDbCommand(delquery, oledbconn); olecmd.Parameters.AddWithValue("@uid", username); olecmd.Parameters.AddWithValue("@fname", favname); oleda.DeleteCommand = olecmd; olecmd.ExecuteNonQuery(); oledbconn.Close(); MessageBox.Show("Favorite is Deleted"); } catch (Exception ex) { System.Windows.MessageBox.Show(ex.Message); } }
Richard Deeming
NB: Предполагая, что вы подключаетесь к Microsoft SQL Server, text
тип был объявлен устаревшим с 2005 года и будет удален в будущей версии. Вы должны использовать varchar(max)
вместо.
ntext, text и image (Transact-SQL) - SQL Server | Microsoft Docs[^]