Я какое-то время был озадачен этой проблемой, и хотя я разыскивал свои проблемы в Интернете, мне не повезло. Поэтому в моей программе Android, созданной на Xamarin, в событии нажатия кнопки я пытаюсь отправить данные на сервер, однако я получаю эту ошибку:
System.InvalidOperationException: Обновление требует, чтобы команда clone имела объект подключения. Свойство Connection команды clone не было инициализировано.
Я сейчас использую этот код:
using (SqlConnection connection = new SqlConnection(cs))
{
connection.Open();
SqlDataAdapter dataAdapter = new SqlDataAdapter($"Select * from Room", connection);
SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
Spinner roomsSPNR = FindViewById<Spinner>(Resource.Id.rooms);
int room = Convert.ToInt32(roomsSPNR.SelectedItem.ToString());
DataRow[] selected = rooms.Tables[0].Select($"RoomNo = {room}");
selected[0][3] = Id;
dataAdapter.Update(rooms); //Line giving the error
}
changeColors(Id);
Я в замешательстве, я не могу понять, почему он это делает. Кто-нибудь может помочь?
Я пытался:
- Установка update.connection вручную
- Создание команды SQL и добавление туда команды построителя команд (есть еще одна ошибка)
- Установка команды обновления DataAdapter для метода для построителя команд
- В инициализации DataAdapter я изменил соединение на строку соединения
- Многие другие, которые могут не иметь никакого значения
Редактировать: Ранее в коде программа могла читать с сервера и помещать его в комнаты. С другой стороны, я не знаком с созданием веб-сервисов; это то, что мне нужно сделать, чтобы позволить ему обновить базу данных?