none
Подскажите как создать правильно запрос к бд Access C# RRS feed

Ответы

  • а так

    private void UpdateDate(string data, int field) { con.Open(); string update = "update Configuration set Configuration.Value =? where config_id = ?"; OleDbCommand com = new OleDbCommand(update, con); //conn - это ваше подключение в БД com.CommandType = CommandType.Text; com.Parameters.Add("@p1", OleDbType.String).Value = data;

    com.Parameters.Add("@p2", OleDbType.Integer).Value = field; com.ExecuteNonQuery(); con.Close();


    27 марта 2013 г. 13:24
  • Вполне возможно

    И как исправить??

    private void UpdateDate(string data, int field) { con.Open(); string update = "update Configuration set Configuration.Value =? where config_id = ?"; OleDbCommand com = new OleDbCommand(update, con); //conn - это ваше подключение в БД

    com.CommandType = CommandType.Text; com.Parameters.Add("@p1", OleDbType.Char).Value = data; com.Parameters.Add("@p2", OleDbType.Integer).Value = field; com.ExecuteNonQuery(); con.Close(); }

    Вот так все работает спасибо


    27 марта 2013 г. 14:18

Все ответы

  • В вашем случае это сделать 1 запросом неполучится, придется для каждого значение использовать свой запрос

    private void UpdateDate(string data,int field) { string update = "update table t set t.Value = ? where config_id = ?"; OleDbCommand com = new OleDbCommand(update, conn); //conn - это ваше подключение в БД com.CommandType = CommandType.Text; com.Parameters.Add("@p1", OleDbType.String).Value = data;

    com.Parameters.Add("@p2", OleDbType.Int32).Value = field; com.ExecuteNonQuery(); }

    далее 2 раза вызываете этот метод передавая в него ID свойства и значение этого свойства

    27 марта 2013 г. 11:08
  • В вашем случае это сделать 1 запросом неполучится, придется для каждого значение использовать свой запрос

    private void UpdateDate(string data,int field) { string update = "update table t set t.Value = ? where config_id = ?"; OleDbCommand com = new OleDbCommand(update, conn); //conn - это ваше подключение в БД com.CommandType = CommandType.Text; com.Parameters.Add("@p1", OleDbType.String).Value = data;

    com.Parameters.Add("@p2", OleDbType.Int32).Value = field; com.ExecuteNonQuery(); }

    далее 2 раза вызываете этот метод передавая в него ID свойства и значение этого свойства

    получается нужно еще textbox для указания ID  ??
    27 марта 2013 г. 11:18
  • Нет, достаточно передать значение Config_id в вашем слечае 161 для логина и 162 для пароля
    27 марта 2013 г. 11:26
  • Нет, достаточно передать значение Config_id в вашем слечае 161 для логина и 162 для пароля
    Что означат эти выражение  table t set t.

    27 марта 2013 г. 11:33
  • UpdateDate(txbx_LoginId.Text,161); // обновит логин

    UpdateDate(txbx_Psw.Text,162); // обновит пароль

    27 марта 2013 г. 11:41
  • UpdateDate(txbx_LoginId.Text,161); // обновит логин

    UpdateDate(txbx_Psw.Text,162); // обновит пароль

    Не понял, куда эти строки в вписывать??
    27 марта 2013 г. 11:44
  • это пример использования, например вы по нажатию кнопки хотите обновить данные то в обработчике нажати пишете эти 2 строки
    27 марта 2013 г. 11:53
  • это пример использования, например вы по нажатию кнопки хотите обновить данные то в обработчике нажати пишете эти 2 строки
    Понял, а что значат эти  выражения table t set t. ?? 
    27 марта 2013 г. 11:56
  • update table t set

    table это название вашей таблицы

    t это синоним названия

    27 марта 2013 г. 12:35
  • update table t set

    table это название вашей таблицы

    t это синоним названия

     
     private void UpdateDate(string data, int field)
            {
                con.Open();
    
                string update = "update Configuration set Configuration.Value =? where config_id = ?";
                OleDbCommand com = new OleDbCommand(update, con); //conn - это ваше подключение в БД
                com.CommandType = CommandType.Text;
                com.Parameters.Add("@p1", OleDbType.Integer).Value = field;
                com.Parameters.Add("@p2", OleDbType.Char).Value = data;
                com.ExecuteNonQuery();
                  con.Close();

    Вот как я сделал, ну в базу не чего не вносится
    27 марта 2013 г. 13:16
  • а так

    private void UpdateDate(string data, int field) { con.Open(); string update = "update Configuration set Configuration.Value =? where config_id = ?"; OleDbCommand com = new OleDbCommand(update, con); //conn - это ваше подключение в БД com.CommandType = CommandType.Text; com.Parameters.Add("@p1", OleDbType.String).Value = data;

    com.Parameters.Add("@p2", OleDbType.Integer).Value = field; com.ExecuteNonQuery(); con.Close();


    27 марта 2013 г. 13:24
  • а так

    private void UpdateDate(string data, int field) { con.Open(); string update = "update Configuration set Configuration.Value =? where config_id = ?"; OleDbCommand com = new OleDbCommand(update, con); //conn - это ваше подключение в БД com.CommandType = CommandType.Text; com.Parameters.Add("@p1", OleDbType.String).Value = data;

    com.Parameters.Add("@p2", OleDbType.Integer).Value = field; com.ExecuteNonQuery(); con.Close();


    com.Parameters.Add("@p1", OleDbType.String).Value = data; // Поддерживает  OleDbType тип  String
    Может потому, что у меня Value имеет тип Char??


     
    27 марта 2013 г. 13:36
  • Вполне возможно
    27 марта 2013 г. 13:40
  • Вполне возможно
    И как исправить??
    27 марта 2013 г. 13:48
  • Вполне возможно

    И как исправить??

    private void UpdateDate(string data, int field) { con.Open(); string update = "update Configuration set Configuration.Value =? where config_id = ?"; OleDbCommand com = new OleDbCommand(update, con); //conn - это ваше подключение в БД

    com.CommandType = CommandType.Text; com.Parameters.Add("@p1", OleDbType.Char).Value = data; com.Parameters.Add("@p2", OleDbType.Integer).Value = field; com.ExecuteNonQuery(); con.Close(); }

    Вот так все работает спасибо


    27 марта 2013 г. 14:18