次のC#のコードが生成され、「SQL構文エラーを...」C#のMySQLを挿入
string query = "INSERT INTO jobscollection (number,desc,client,jobtype,statustype,initials) VALUES(@number,@desc,@client,@jobtype,@statustype,@initials)";
MySqlCommand cmd = new MySqlCommand(query, connection);
cmd.Parameters.Add("@number", MySqlDbType.VarChar).Value = JobNumber;
cmd.Parameters.Add("@desc", MySqlDbType.VarChar).Value = Description;
cmd.Parameters.Add("@client", MySqlDbType.Int32).Value = clientId;
cmd.Parameters.Add("@jobtype", MySqlDbType.Int32).Value = typeID;
cmd.Parameters.Add("@statustype", MySqlDbType.Int32).Value = statusId;
cmd.Parameters.Add("@initials", MySqlDbType.VarChar).Value = Initials;
cmd.ExecuteNonQuery();
リンクMySQLのワークベンチ内のテーブルのイメージがあります。またクライアントID、JOBTYPEとステータスタイプは、他のテーブル内のIDへの外部キーです(とIDが存在しない)
は、誰もが私のエラーを見つけることができますか?ここで
は完全な例外メッセージ
{MySql.Data.MySqlClient.MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'desc,client,jobtype,statustype,initials) VALUES('1007.01','Test',3,2,3,'PI')' at line 1
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
at PCE.DatabaseUtility.InsertNewJob(String JobNumber, String Description, Int32 clientId, Int32 typeID, Int32 statusId, String Initials)}
され、接続文字列
string connectionString;
connectionString = "SERVER=" + server + ";" + "DATABASE=" +
database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";"
+ "Allow User Variables=true;";
try-catchブロックに入れ、ここで例外メッセージを貼り付けます。通常は「SQLエラーが発生しました......」 –
更新された質問 – tuskcode