私は、次のエラーが発生しますし、問題を見つけることができません。MySQLの構文エラー
あなたのSQL構文でエラーが発生しています。 「文字列」、「文字列」、「文字列」、「文字列」、「文字列」、「文字列」、「The」1行目付近で使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを参照してください。
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が正しいです。
アップロード(field1、field2)VALUES(@ value1、@ value2) – B4NZ41
@Fernando Costa:テーブルのすべてのフィールドに値を挿入する場合、フィールド&VALUESは不要です - OPクエリは有効です –
@OMG Ponies、それらが同じタイプのものであれば、SQLがどの列を間違って推測できるか(なぜなら、間違った順序でそれらを間違って入れ、型が妥当である場合)、なぜならそれらを使用するよい練習は –