私は自分の会社のプロジェクトの進捗状況を監視するプログラムを作成しましたが、私はテスト中ですので、非常にうんざりな問題に直面しています。私がの下にWindows 10の下でテストすると、すべてが作成されたは、期待通りにを実行します。しかし、私は窓7と私はそのマニュアルを確認し、「あなたは、あなたのSQL構文でエラーが発生しているSQLクエリのコードで、次のエラーを取得を実行し、私の同僚のコンピュータでそれをテストするとき右側の構文が'01 near'01を使用するためのMySQLサーバのバージョンに対応します。ここで、teammember.Name = "SomeName"およびprojects = "SomeProject" 1行目 "。エラーの原因となるコードは次のとおりです。他のマシンでのみMySQLの構文が間違っています
public void UpdateHoursWorked(string teamMember, string projectName, float hoursWorked)
{
SetSafeUpdates(false);
// Error HERE
using (MySqlCommand cmd = new MySqlCommand("update memberprojects " +
"join teammembers on Member = teammembers.TeamMembersID " +
"join projects on Project = projects.ProjectsID " +
"set HoursWorkedOnProject = HoursWorkedOnProject + " + hoursWorked + " " +
"where teammembers.Name = \"" + teamMember + "\" and projects.ProjectName = \"" + projectName + "\"", conn))
cmd.ExecuteNonQuery();
// Update the total hours worked in the projects table, and re-read the projects
UpdateTotalHoursWorked(projectName, hoursWorked);
OnUpdate(EventArgs.Empty);
}
私は問題を指摘することはできませんが、Windows 10ではプログラムが完璧に動作し、構文が正しいように見えます。何が問題を引き起こすかもしれないかについての任意のアイデア?
を変更しました偉大な良い選択と無視すべきではありません.. – BugFinder
私は男のMySQLのタイプではないが、私は二重引用符migthケースの問題(結果は 'のようになります' teammember.Name = 'SomeName'とprojects = 'SomeProject'' – nozzleman
クエリにパラメータを使用する必要があります。 –