0

RichTextBox の単語をデータベースと比較します。しかし、一重引用符を持つリッチテキストボックスに単語を書き込むと、このプログラムは例外を発生させます。


「イスラエル人」を殺すために原始的で野蛮な方法に頼る例。
この文では、'Israeli'sという単語は単一引用符を使用しているため、この単語はプログラムを中断します。
私は次のコードを書きます。

private void btnSeparte_Click(object sender, EventArgs e)
            {                    
                string MyConString = "server=localhost;" +
                "database=sentiwordnet;" + "password=zia;" +
                "User Id=root;";
                MySqlConnection con = new MySqlConnection(MyConString);
                string line = rtbEmotion.Text;
                Regex replacer = new Regex(@"\b(is|are|am|could|will|the|you|'|not|I|in)\b|(\b\d\b)");
                line = replacer.Replace(line, "");
                string[] parts = Regex.Split(line, " ");
                foreach (string part in parts)
                {

                    MySqlCommand cmd = new MySqlCommand("select * from score where Word='" + part + "'", con);
                    con.Close();
                    con.Open();
                    MySqlDataReader r = cmd.ExecuteReader();

                    if (r.Read())
                    {


                        txtBxPosEmot.Text = r["Pos"].ToString();
                        TxtBoxNeg.Text = r["Neg"].ToString();
                        pos = Convert.ToDouble(txtBxPosEmot.Text);
                        neg = Convert.ToDouble(TxtBoxNeg.Text);
                        listView1.Items.Add(part);
                        listView1.Items.Add(pos.ToString());
                        listView2.Items.Add(part);
                        listView2.Items.Add(neg.ToString());
                        pos1 = pos + pos1;
                        neg1 = neg + neg1;
                        r.Close();
                        con.Close();

                    }

                    else
                    {
                        textBox1.Text = "";
                        txtbPosSyth.Text = "";
                        r.Close();
                        con.Close();
                    }
               }
          }    

例外
SQL 構文にエラーがあります。「Israels」行の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

4

3 に答える 3