如何从VS中的数据库中的数据绘制图形

时间:2018-01-18 19:28:53

标签: c# postgresql visual-studio-2017

我的问题如下:

我有一个数据库,我想从中获取图片,但它是在postgresql中,我没有找到有关如何绘制这种类型的数据库的信息,我找到了一个MySQL的例子,所以我把它作为参考,因为它是SQL并尝试根据此绘制图形,但在绘制图形的时候绘制的是一个巨大的红色X,从一个角落到另一个角落然后超过我试图看到它是我找不到的错误,我留下代码。

 public partial class Form1 : Form
    {
        String parametros = "Server=localhost;Port=5432;User Id=postgres;Password=root;Database=test;";
        NpgsqlConnection con;
        String query = "";

        public Form1()
        {
            InitializeComponent();

        }
        public void conectar()
        {

            try
            {
                con = new NpgsqlConnection(parametros);
                con.Open();
                MessageBox.Show("conexion exitosa");
            }
            catch (Exception error)
            {
                MessageBox.Show(error.Message);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            conectar();
            //chart1.Series["Series1"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
            chart1.Series["Series1"].LegendText = "Grafica de partes";
            chart1.Series["Series1"].XValueMember = "partnum";
            chart1.Series["Series1"].YValueMembers = "coutn(partnum)";
            chart1.DataSource = EnviarDatos("SELECT partnum, count(partnum) FROM logbook GROUP BY partnum;");

            con.Close();

        }
        public DataTable EnviarDatos(string consulta)
        {
            DataTable table = new DataTable();
            NpgsqlDataAdapter add = new NpgsqlDataAdapter(consulta, con);
            add.Fill(table);
            return table;

        }
    }

我发送的查询是抛出零件编号的那个,而另一个抛出该编号的次数,但无论你多么努力不绘制图形,第一个是字符串,第二个是是一个int

1 个答案:

答案 0 :(得分:0)

YValueMembers中有一个拼写错误。将它重命名也会更容易:

chart1.Series["Series1"].YValueMembers = "cnt";
chart1.DataSource = EnviarDatos("SELECT partnum, count(partnum) as cnt FROM logbook GROUP BY partnum;");