从MS SQL查询到谷歌图表(Razor)的日期值

Date values from MS SQL query into Google Charts (Razor)

本文关键字:Razor 日期 SQL MS 查询 谷歌      更新时间:2023-09-26

希望有人可以回答一个简单的问题。我正在尝试创建一个谷歌图表,该图表获取SQL服务器查询的2列结果并将它们绘制在X-Y轴上。

第一列(图表上的 x 值)是采用以下格式的日期:4/5/2014 12:00:00 AM,第二列(y 值)是标准浮点数。 我使用以下 asp.net 解析器将这些结果转换为谷歌图表所需的 json 格式字符串:

DataTable dt = new DataTable();
         {
         conn.Open();
         using (SqlDataAdapter adapter = new SqlDataAdapter("select game_date, fb_avg_velo, cb_avg_velo, ch_avg_velo, sl_avg_velo, oth_avg_velo from pitching_speed where player_code = 'bjones' order by game_date asc", conn))
                {
                    adapter.Fill(dt);
                    List<string> rowsList = new List<string>();
                    foreach (DataRow row in dt.Rows)
                    {
                        rowsList.Add("[" + row["game_date"] + ", " + row["fb_avg_velo"] + "]");
                    }
                    rows = String.Join(", ", rowsList);
                }
     }

然后,我使用以下 javascript 函数填充数据表以创建我的图形:

 function drawChart() {
    var data1 = new google.visualization.DataTable()
    data1.addColumn('date', 'Date');
    data1.addColumn('number', 'Velocity');
    data1.addRows([@Html.Raw(rows)]);
    var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
    chart.draw(data1, {
        title: 'Fast Ball Speed by Date',
    });

问题是我认为谷歌图表无法识别我的日期格式,因此图表不会呈现。我知道 javascript 中有一个 Date() 函数,但我不知道在这种情况下如何实现它。

有关如何设置日期格式,请参阅"正确的"JSON 日期格式。尝试在 C# 中row["game_date"].ToString("O")