У меня есть небольшая форма гостевой книги в asp / c#, которая прекрасно работает, пока я не хочу добавить в сообщение более 200 (я думаю, более 255) символов.
форма и исключение
Исключение: данные слишком длинные для столбца '_entry_message' в строке 1
_entry_message - это параметр в моей хранимой процедуре. Тип данных в БД - длинный текст (я пробовал и другие).
Мой код в C#:
protected void btnSend_Click(object sender, EventArgs e)
{
try
{
using (MySqlConnection sqlCon = new MySqlConnection(myConnectionString))
{
sqlCon.Open();
MySqlCommand sqlCmd = new MySqlCommand("AddEntry", sqlCon);
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.Parameters.AddWithValue("_entry_date", DateTime.Today);
sqlCmd.Parameters.AddWithValue("_name", txtName.Text.Trim());
sqlCmd.Parameters.AddWithValue("_e_mail", txtEmail.Text.Trim());
sqlCmd.Parameters.AddWithValue("_entry_message", txtMessage.Text.Trim());
sqlCmd.ExecuteNonQuery();
GridFill();
Clear();
lblMessage.Text = success;
lblMessage.ForeColor = System.Drawing.Color.Green;
lblMessage.Visible = true;
}
}
catch (Exception ex)
{
lblMessage.Text = error + ex.Message;
lblMessage.ForeColor = System.Drawing.Color.Red;
lblMessage.Visible = true;
}
}
Не думаю, что код - это проблема. Я предполагаю, что что-то происходит во время хранимой процедуры:
CREATE DEFINER=`albrecht`@`%` PROCEDURE `AddEntry`(_entry_date datetime,_name varchar(45),_e_mail varchar(45),_entry_message varchar(250)) BEGIN insert into tbl_guestbook(entry_date,name,e_mail,entry_message) values(_entry_date,_name,_e_mail,_entry_message); END
Извините за дерьмовое форматирование. Я не знаю, как это сделать здесь.
Большое спасибо за помощь, умные ребята. Если я забыл что-то упомянуть, пожалуйста, дайте мне знать.