Mysql Синтаксическая Ошибка - PullRequest
1 голос
/ 14 июля 2011

Я получаю следующую ошибку и не могу найти проблему:

У вас ошибка в синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса для использования рядом с '' String ',' String ',' 6 ',' String ',' String ',' String ',' The 'в строке 1 * 1004. *

C # код:

    protected void updateDB(byte[] content, int size, string mime)
{
    string school = DropDownList_School.Text;
    string subject = DropDownList_Subject.Text;
    string teacher = DropDownList_Teacher.Text;
    string course = DropDownList_Class.Text;
    string unit = TextBox_Unit.Text;
    string name = TextBox_Name.Text;
    string date = DateTime.Today.ToString();
    string username = System.Web.Security.Membership.GetUser().UserName;
    MySqlConnection connection = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MySqlConnection"].ConnectionString);
    connection.Open();
    MySqlCommand cmd = new MySqlCommand();//(query, connection);
    cmd.Connection = connection;
    cmd.CommandText = "INSERT INTO uploads 
                       (@School, @Subject, @Teacher, @Course, @Unit, @Name, @Username, @Size, @MIME, @content) ";
    cmd.Prepare();
    cmd.Parameters.AddWithValue("@School", school);
    cmd.Parameters.AddWithValue("@Subject", subject);
    cmd.Parameters.AddWithValue("@Teacher", teacher);
    cmd.Parameters.AddWithValue("@Course", course);
    cmd.Parameters.AddWithValue("@Unit", unit);
    cmd.Parameters.AddWithValue("@Name", name);
    cmd.Parameters.AddWithValue("@Username", username);
    cmd.Parameters.AddWithValue("@Size", size);
    cmd.Parameters.AddWithValue("@MIME", mime);
    cmd.Parameters.AddWithValue("@content", content);
    cmd.ExecuteNonQuery();
    connection.Close();
}

ConnectionString верна.

1 Ответ

1 голос
/ 14 июля 2011

должно быть INSERT INTO uploads VALUES(...) Возможно, вы также захотите указать порядок столбцов, например INSERT INTO uploads(col1, col2, etc...) VALUES(val for col1, val for col2..., etc), потому что в противном случае SQL попытается «угадать» и ошибиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...