Ошибка распределения памяти от драйвера MySql ODBC 5.1 в приложении C# на операторе вставки

У меня есть приложение Wndows.NET в C#. Это - простое Приложение Windows, которое использует выпуск сообщества базы данных MySql 5.1. Я загрузил драйвер MySql ODBC и создал dsn к моей базе данных по моей локальной машине. На моем приложении я могу выполнить, получают запросы типа без проблем, но когда я выполняю данный оператор вставки (не, что я попытался делать любых других), я получаю следующую ошибку:

{"ОШИБКА [HY001] [MySQL] [драйвер ODBC 5.1] [mysqld-5.0.27-community-nt] Ошибка распределения памяти"}

Я работаю на машине Windows XP. Моя машина имеет 1 ГБ памяти. У кого-либо есть какие-либо идеи? См. код ниже

OdbcConnection MyConn = DBConnection.getDBConnection();
    int result = -1;
    try
    {
        MyConn.Open();
        OdbcCommand myCmd = new OdbcCommand();
        myCmd.Connection = MyConn;
        myCmd.CommandType = CommandType.Text;
        OdbcParameter userName = new OdbcParameter("@UserName", u.UserName);
        OdbcParameter password = new OdbcParameter("@Password", u.Password);
        OdbcParameter firstName = new OdbcParameter("@FirstName", u.FirstName);
        OdbcParameter LastName = new OdbcParameter("@LastName", u.LastName);
        OdbcParameter sex = new OdbcParameter("@sex", u.Sex);
        myCmd.Parameters.Add(userName);
        myCmd.Parameters.Add(password);
        myCmd.Parameters.Add(firstName);
        myCmd.Parameters.Add(LastName);
        myCmd.Parameters.Add(sex);
        myCmd.CommandText = mySqlQueries.insertChatUser;
        result = myCmd.ExecuteNonQuery();
    }
    catch (Exception e)
    {
             //{"ERROR [HY001] [MySQL][ODBC 5.1 Driver][mysqld-5.0.27-community-nt]Memory  
             // allocation error"} EXCEPTION ALWAYS THROWN HERE 
    }
    finally
    {
        try
        {
            if (MyConn != null) MyConn.Close();
        }
        finally { }
    }
5
задан Chinjoo 5 June 2010 в 17:10
поделиться

1 ответ

Это было потому, что некоторые поля принимают null, я передавал их как null там, где они должны быть переданы как DBNull.Value. Все поля, которые допускают null, должны быть проверены на null, и если найдено null, то должно быть передано DBNull.Value.

9
ответ дан 13 December 2019 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: