0

c# asp.net を使用して簡単なアプリケーションをコーディングしています。列の平均を取得しています。結果から個々の値を取得し、それを新しいラベル ( label1label2label3....) に表示するにはどうすればよいですか?

試しExecuteScalar().ToString();ましたが、最初の列のみが返されます。

以下は私のコードです:

SqlConnection con;
con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\STATDB.MDF;Integrated Security=True;User Instance=True");
SqlCommand com = new SqlCommand();

SqlDataAdapter da = new SqlDataAdapter();
string result = "SELECT AVG(p_tan) AS p_tang, AVG(e_tan) AS e_tang, AVG(p_rel) AS p_reli FROM statistics";
SqlCommand showresult = new SqlCommand(result, con);
con.Open();

Label1.Text = showresult.ExecuteScalar().ToString();
//Label2.Text = p_tang
//Label3.Text = e_tang
//Label4.Text = p_reli
con.Close();

どんな助けでも大歓迎です。

4

2 に答える 2

3

行を使用showresult.ExecuteReader()してから反復処理して値を取得します

SqlDataReader reader=showresult.ExecuteReader();
while (reader.Read())
{
  Label1.Text= reader["p_tang"].ToString().Trim();
  Label2.Text= reader["e_tang"].ToString().Trim();
  Label3.Text= reader["p_reli"].ToString().Trim();
}
于 2013-07-08T16:30:06.730 に答える
0

ExecuteScalar1 つの値のみをプルします。データベースから複数の値を取得するには、DataReaderまたはを使用する必要があります。DataAdapter

于 2013-07-08T16:32:08.090 に答える