Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> добавление строки в БД 
V
    Опции темы
andDavid
Дата 19.1.2011, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.2.2010

Репутация: нет
Всего: нет



Код

 public bool InsertMessage(RequisiteData recieveData)
        {

            string InsertMessageDB = "INSERT INTO Message_history VALUES(\'" + recieveData.OnePerson.Nick + "\',\'" + 
                                      recieveData.SendMessage + "\',\'" + recieveData.CreateDataMessage + "\');";
        
            MySqlCommand cmd = new MySqlCommand(InsertMessageDB, connDB);

            try
            {
                cmd.ExecuteNonQuery();
                countMessage++;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.ToString());
                return false;
            }

            return true;

        }


ошибку не выдает, а просто не заносит в БД. Хотя если взять просто написать строку вручную, то все работает.

Это сообщение отредактировал(а) andDavid - 19.1.2011, 00:46
PM MAIL   Вверх
A5uKa
  Дата 19.1.2011, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 1
Всего: 16



а с сервером то соединяет ?
Нарисуйте собаку 
Код

@"..."

PM   Вверх
andDavid
Дата 20.1.2011, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.2.2010

Репутация: нет
Всего: нет



с БД соединяет. с собакой тоже не работает.
PM MAIL   Вверх
Экскалупатор
Дата 20.1.2011, 07:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 3
Всего: 24



andDavid, у меня был похожий трабл. помогла установка провайдера данных для MySQL(через родной почему то не хотел работать).
PM MAIL ICQ   Вверх
A5uKa
  Дата 20.1.2011, 09:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


TЋ♥s F1rȜ iƧ BurȠiƞg
***


Профиль
Группа: Awaiting Authorisation
Сообщений: 1928
Регистрация: 30.8.2008

Репутация: 1
Всего: 16



У меня всё работало , попробуй на более простом примере.

Добавлено через 5 минут и 9 секунд
Код

namespace WebApplication.Core
 
open nConfig
 
open System
open MySql.Data.MySqlClient; open MySql.Data.Types
 
type Reporter() =
 
    let useConnection (expr : MySqlConnection -> 'cN) : 'cN =
        let Expr(conn : MySqlConnection) :  =
            try
                try
                    conn.Open()
                with
                | :? MySqlException as ex
                    ->  printfn "Exception! %s" ex.Message
                expr(conn)
            finally 
                try
                    conn.Close() |> ignore
                with
                | :? MySqlException as ex
                    ->  printfn "Exception! %s" ex.Message
        using (new MySqlConnection(ConnectionString = 
               "server      = " + MySQLServer + ";
                uid         = " + MySQLUID + ";
                pwd         = " + MySQLPW + ";
                database    = " + MySQLDB + ";
                Charset=utf8;")) Expr
 
    member x.reportToDB (msg:string) =
        useConnection(fun conn ->
           (let cmd = new MySqlCommand(Connection = conn)
            cmd.CommandText <- ("insert into "+MySQLTable+"(system,dt,logMessage);")
            ignore <| cmd.Parameters.AddWithValue("?system", Net.Dns.GetHostName())
            ignore <| cmd.Parameters.AddWithValue("?dt", DateTime.Now.ToString() )
            ignore <| cmd.Parameters.AddWithValue("?logMessage", msg )
            try
                try
                    cmd.ExecuteNonQuery() |> ignore
                with
                | :? MySqlException as ex when ex.Message.Contains("Duplicate entry")
                    ->  printfn "MySQL Duplicate entry Exception: discarding the data set! %s" ex.Message
                        printfn ""
                | :? MySqlException as ex
                    ->  printfn "MySQL Exception, requeing data set and trying again later! %s" ex.Message
                        reraise()
            with
            | :? MySqlException as ex
                ->  printfn "Exception! %s" ex.Message))

PM   Вверх
andDavid
Дата 20.1.2011, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 12.2.2010

Репутация: нет
Всего: нет



все, разобрался. Этот код отдельно работает. Я просто для этого случая не закрывал транзакцию, которую открывал в другом методе.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0435 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.