Можно ли вернуть сообщения в стиле SSMS в приложении C# winforms?
Всем Привет
У меня есть приложение, которое использует MS SQL, и время от времени мне нужно изменять таблицы, добавлять столбцы и т. д. Очевидно, что это можно сделать с помощью SSMS, но не все мои клиенты имеют возможность устанавливать и использовать его на своих рабочих станциях (их ИТ-отделы ограничивают их), поэтому мне было интересно, есть ли способ создать базовый, который я могу использовать без необходимости установки SSMS?
Я попробовал событие ".InfoMessage" и не получаю ответных сообщений, я попробовал ".StatementCompleted", и это прекрасно работает, если сказать, что я обновляю запись. но я хочу ввести команду (или серию команд), например
ALTER TABLE [dbo].[Batch] ADD [totalLoose] intи получить обратно Сообщение, Как я бы сделал в SSMS, либо оно завершилось успешно, либо потерпело неудачу.
Возможно ли это, поскольку я потратил так много времени на поиски и попытки нескольких вещей, и все они до сих пор не оправдали ожиданий?
спасибо заранее.
DT
Что я уже пробовал:
using (conn = new SqlConnection(ConnectionString)) { conn.FireInfoMessageEventOnUserErrors = true; conn.InfoMessage += OnInfoMessage; conn.Open(); using (sc = new SqlCommand(sql, conn)) { sc.StatementCompleted += OnStatementCompleted; sc.ExecuteNonQuery(); } conn.Close(); conn.InfoMessage -= OnInfoMessage; conn.FireInfoMessageEventOnUserErrors = false; }
private void OnStatementCompleted(object sender, StatementCompletedEventArgs e) { ResultTBC.Text += "\n" + "("+e.RecordCount + " row(s) affected)"; } private void OnInfoMessage(object sender, SqlInfoMessageEventArgs e) { ResultTBC.Text += "\n" + e.Message; }