C # + SQL + Xamarin Android: - PullRequest
       9

C # + SQL + Xamarin Android:

0 голосов
/ 25 апреля 2018

Я какое-то время был озадачен этой проблемой, и хотя я разыскивал свои проблемы в Интернете, мне не повезло. Поэтому в моей программе 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);

Я в замешательстве, я не могу понять, почему он это делает. Кто-нибудь может помочь? Я пытался:

  1. Установка update.connection вручную
  2. Создание команды SQL и добавление туда команды построителя команд (есть еще одна ошибка)
  3. Установка команды обновления DataAdapter для метода для построителя команд
  4. В инициализации DataAdapter я изменил соединение на строку соединения
  5. Многие другие, которые могут не иметь никакого значения

Редактировать: Ранее в коде программа могла читать с сервера и помещать его в комнаты. С другой стороны, я не знаком с созданием веб-сервисов; это то, что мне нужно сделать, чтобы позволить ему обновить базу данных?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы не можете напрямую соединиться с базой данных в xamarin. Сначала необходимо создать веб-сервис и использовать этот веб-сервис для вставки или извлечения данных из базы данных.

Если вам нужно, я помогу вам с веб-сервисами.

...