2 つのテーブルがあり、これら 2 つのテーブルの列を追加したい。TrueResult テーブルの最初の列 (File_Name) が MyResult テーブルの最初の列 (F_Name) と等しい場合、両方のテーブル
TrueResultの 2 番目と 3 番目の列を追加します。
File_Name Pos_Score Neg_Score
p46084445 3.25 2.5
p46084231 2.8 1.5
p46084412 1.8 2.9
私の結果
F_Name P_Score N_Score
p46084231 2.25 1.5
p46084412 3.8 2.5
p46084445 2.8 3.9
TrueResult
テーブルの最初の行が MyResult テーブルの 3 行目に等しいため、結果を追加する例です。
Pos_Score=2.8+3.25
Neg_Score=3.9 +2.5
この問題を解決するために、次のコードを書きます。
コード
private void button1_Click(object sender, EventArgs e)
{
string MyConString = "server=localhost;" +
"database=WordNet;" + "password=zia;" +
"User Id=root;";
MySqlConnection con = new MySqlConnection(MyConString);
MySqlCommand cmd = new MySqlCommand("select * from TrueResult,MyResult where TrueResult.File_Name=MyResult.F_Name;", con);
con.Close();
con.Open();
MySqlDataReader r = cmd.ExecuteReader();
while (r.Read())
{
textBox3.Text = r["Pos_Score.TrueResult"].ToString();
textBox2.Text = r["Neg_Score.TrueResult"].ToString();
textBox1.Text = r["P_Score.MyResult"].ToString();
textBox4.Text = r["N_Score.MyResult"].ToString();
pos = Convert.ToDouble(textBox2.Text);
neg = Convert.ToDouble(textBox3.Text);
post = Convert.ToDouble(textBox1.Text);
negt = Convert.ToDouble(textBox4.Text);
pos1 = pos + post;
neg1 = neg + negt;
MessageBox.Show("pos=" + pos1.ToString() + "neg" + neg1.ToString());
r.Close();
con.Close();
}
}
そして、このプログラムは次のエラーを出します。
「where句」のエラー
不明な列「MyResult.F_Name
」