0

データベースとして vb.net と sql を使用しています。折れ線グラフをプロットするにはどうすればよいですか? このSQLステートメントを使用して

私のX軸は、ユーザーがキー入力するTime_stampからの範囲値になり、これを= 2013/6/24 8:38:00 AMから2013/6/24 8:38:23 AMまで割り当てます。 Y 軸は、ユーザーがキー入力する BB_ID になり、それを = 3100 として割り当てます。

これは私の一般的なコードです:

    Dim connectionString As String = "server='abc'; user id='***'; password='***'; Database='***'"
    Dim sqlConnection As SqlClient.SqlConnection = New SqlClient.SqlConnection(connectionString)

    sqlConnection.Open()

    Dim queryString As String = "SELECT Time_stamp, BB_ID, Status, " & _
    "(CASE WHEN Status = 'R' THEN 0 WHEN status = 'O' THEN 1 ELSE 2 END) AS newstatus"& _
    "FROM(dbo.rawdata)" & _
    "WHERE (BB_ID = '3100') AND (Time_stamp >= '6/24/2013 8:38:00 AM') AND (Time_stamp <= '6/24/2013 8:38:23 AM')"

    Chart1.Series("line_area").Points.AddXY("3100", "10")
    Chart1.Series("line_area").Points.AddXY("3100", "8")
    Chart1.Series("line_area").ChartType = System.Web.UI.DataVisualization.Charting.SeriesChartType.Line

    sqlConnection.Close()
4

1 に答える 1

0

ZedGraph に変更する必要はありません。この場合も MSChart は正常に動作します。クエリ文字列を作成しましたが、データベースにクエリを実行していません。

string connectionString =   // your connection string
string queryString =        // your query string

// Create a database connection object using the connection string    
SQLConnection sqlConnection =  // your connection object

// Create a database command on the connection using query    
SQLCommand  sqlCommand = // your command

sqlConnection .Open();

// set chart data source - the data source must implement IEnumerable
chart1.DataSource = sqlCommand.ExecuteReader(CommandBehavior.CloseConnection);

// Set series members names for the X and Y values 
chart1.Series["line_area"].XValueMember = "Time_stamp"; // the column you want on X axis
chart1.Series["line_area"].YValueMembers = "BB_ID"; // the column you want on Y axis

// Data bind to the selected data source
chart1.DataBind();

あなたのコードで

Chart1.Series("line_area").Points.AddXY("3100", "10")
Chart1.Series("line_area").Points.AddXY("3100", "8")

チャートに 2 つのポイントを追加するだけです。データベースからのデータはチャートにまったく接続されていません。

于 2013-07-26T11:42:42.367 に答える