从数据库获取数据到datagridview列. [英] Get the Data from Database to datagridview column.

查看:70
本文介绍了从数据库获取数据到datagridview列.的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个datagridview,其中有4列
________________________________________________
|产品名称|旧库存|新库存当前库存|
| A |
| B |
| C |
| D |
| E | _____________________________________________
第一栏中有产品A,B,C,D,E.已连接到数据库.
我想在New Stock列中加载值,即表格Load事件中表New_Stk的第3列. New_Stk表具有以下列Date,Product_Name,Qty.值应通过以下方式加载:例如.在datagridview中,第一列值已加载,因此第一个单元格值为A,然后从New_Stk表中获取值时,它应与产品名称即A和当前日期匹配,然后在datagridview中的第三列单元格中显示值. >
我写了以下代码:-

I have a datagridview in which there are 4 columns
________________________________________________
|Product Name | Old Stock | New Stock | Current Stock|
|A|
|B|
|C|
|D|
|E|_____________________________________________
in first Column there are products A, B,C,D,E. that is connected to database.
I want to load values in New Stock column i.e. 3rd column from table New_Stk on form Load event. The New_Stk table has following columns Date, Product_Name, Qty. Value should be loaded in following way: for eg. in datagridview first column vales are loaded, so the first cell value is A, then while getting value from New_Stk table, it should match the product name i.e A and current date and then show value in cell of 3rd column in datagridview.

I have written following Code:-

string date, M_name, cnstp, query;
            date = DateTime.Today.ToShortDateString();            
            cnstp = ConfigurationManager.ConnectionStrings["Your_ConnectionString"].ConnectionString;
            SqlConnection conr = new SqlConnection(cnstp);
            for (int i = 0; i <= dgvStock.Rows.Count; i++)
            {
                M_name = dgvStock.Rows[i].Cells[0].Value.ToString();
                query = "Select distinct Qty from New_Stk where Product_Name = '" + "M_name" + " and Date = " + "date" + "'";
                SqlDataAdapter adpi = new SqlDataAdapter("query", conr);
                DataSet ds = new DataSet();
                adpi.Fill(ds);
                dgvStock.DataSource = ds.Tables[0].DefaultView;
                dgvStock.Rows[i].Cells[0].Value = query;



在此先感谢!!!



Thanks in Advance !!!

推荐答案

您应该只编写SQL以一次提取所有想要的值,然后进行数据绑定.您在这里所做的工作效率低下.为什么不能只在一个sql调用中获得所需的所有值?
You should just write your sql to pull all the values you want at once, and do a data bind. What you''re doing here is wildly inefficient. why can''t you just get all the values you need in one sql call ?


这篇关于从数据库获取数据到datagridview列.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆