使用标签列将数据从sql db显示到datagridview [英] Display data form sql db onto datagridview with labled columns
本文介绍了使用标签列将数据从sql db显示到datagridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个带有数据gridview的表单,其中包含6个标记列。我想显示来自
sql db的数据到只有3个标记列。我试过但只有db中的第一行在datagridview上显示
。请帮帮我
以下是我用的代码
public void loadproduct3()
{
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings [ConnectionString]);
conn.ConnectionString =数据源= USER-PC;初始目录= BARDB;用户ID = sa;密码=迈克;
conn.Open();
SqlCommand cmd = new SqlCommand();
string sqlQueryy = null;
sqlQueryy =select * from tblproduct;
cmd.Connection = conn;
cmd.CommandText = sqlQueryy;
cmd.CommandType = System.Data.CommandType.Text;
SqlDataReader dr = null;
dr = cmd.ExecuteReader();
if(dr.Read())
{
for(int i = 0; i< dgvSales.Rows.Count; i ++)
{
dgvSales。行[i] .Cells [clmProductid]。Value = dr [productid]。ToString();
dgvSales.Rows [i] .Cells [clmProductname]。Value = dr [productname]。ToString();
dgvSales.Rows [i] .Cells [clmUnitprice]。Value = dr [unitprice]。ToString();
}
}
其他
{
//返回false;
}
conn.Close();
}
解决方案
使用以下内容:
< pre lang =c#> public void loadproduct3()
{
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings [ ConnectionString 跨度>]);
conn.ConnectionString = 数据源= USER-PC;初始目录= BARDB;用户ID = sa;密码=迈克跨度>;
SqlDataAdapter oSDA = new SqlDataAdapter( select * from tblproduct,conn);
DataSet oDs = new DataSet();
oSDA.SelectCommand.CommandType = CommandType.Text;
oSDA.Fill(oDs);
if (oDs.Tables [ 0 ]。Rows.Count > 0 )
{
dgvSales.DataSource = oDs;
dgvSales.DataBind();
}
}
迈克我觉得你应该先使用dr.read()之前先用
... for ....循环
将以
i have a form with data gridview which has 6 labled columns. i want to display data from
sql db onto only 3 of the labled columns. i tried but only the first row in the db gets displayed
on the datagridview. please help me out
below are the codes i used
public void loadproduct3() { SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]); conn.ConnectionString = "Data Source=USER-PC;Initial Catalog=BARDB;User ID=sa;Password=mike"; conn.Open(); SqlCommand cmd = new SqlCommand(); string sqlQueryy = null; sqlQueryy = "select * from tblproduct"; cmd.Connection = conn; cmd.CommandText = sqlQueryy; cmd.CommandType = System.Data.CommandType.Text; SqlDataReader dr = null; dr = cmd.ExecuteReader(); if (dr.Read()) { for (int i = 0; i < dgvSales.Rows.Count; i++) { dgvSales.Rows[i].Cells["clmProductid"].Value = dr["productid"].ToString(); dgvSales.Rows[i].Cells["clmProductname"].Value = dr["productname"].ToString(); dgvSales.Rows[i].Cells["clmUnitprice"].Value = dr["unitprice"].ToString(); } } else { //return false; } conn.Close(); }
解决方案
Use the below:
public void loadproduct3() { SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["ConnectionString"]); conn.ConnectionString = "Data Source=USER-PC;Initial Catalog=BARDB;User ID=sa;Password=mike"; SqlDataAdapter oSDA = new SqlDataAdapter("select * from tblproduct", conn); DataSet oDs = new DataSet(); oSDA.SelectCommand.CommandType = CommandType.Text; oSDA.Fill(oDs); if (oDs.Tables[0].Rows.Count > 0) { dgvSales.DataSource = oDs; dgvSales.DataBind(); } }
mike I think you should use first
while dr.read() before ... for .... to loop
which will end with end while
这篇关于使用标签列将数据从sql db显示到datagridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文