RT
从数据库中读取一条条数据连续显示到datagridview里面,就像超市售货员刷商品条码时显示的一样。
开发工具:C#语言,Access数据库
我尝试的两种思路
第一种:是做一个中间表,每次给这个中间表添加一行数据,然后再执行dataGridView1.DataSource = DT,没弄出来
第二种思路:
是在数据库中建另一张表,把需要显示在数据,从主表中提取出来插入到这张表中,然后每次datagridview刷新显示这张表
可是这个从主表中复制一条数据到另一张表的动作实现不出来,我的语句是这样写的:
OleDbConnection con = new OleDbConnection(conStr);
OleDbCommand com = new OleDbCommand();
com.CommandText = "insert into tb_sales(Serial,ID,Name,Price,Re) select (Serial,ID,Name,Price,Re) from tb_goods where ID='" + ID + "'";
com.Connection = con;
请大虾们帮偶看看,我已经搞了两天了,也没弄出来
从数据库中读取一条条数据连续显示到datagridview里面,就像超市售货员刷商品条码时显示的一样。
开发工具:C#语言,Access数据库
我尝试的两种思路
第一种:是做一个中间表,每次给这个中间表添加一行数据,然后再执行dataGridView1.DataSource = DT,没弄出来
第二种思路:
是在数据库中建另一张表,把需要显示在数据,从主表中提取出来插入到这张表中,然后每次datagridview刷新显示这张表
可是这个从主表中复制一条数据到另一张表的动作实现不出来,我的语句是这样写的:
OleDbConnection con = new OleDbConnection(conStr);
OleDbCommand com = new OleDbCommand();
com.CommandText = "insert into tb_sales(Serial,ID,Name,Price,Re) select (Serial,ID,Name,Price,Re) from tb_goods where ID='" + ID + "'";
com.Connection = con;
请大虾们帮偶看看,我已经搞了两天了,也没弄出来
2、datagridview绑定的是一个实体集合Infos
3、用户添加一条记录,那么先将记录实例化为一个实体Info
然后Infos.Add(Info);
datagridview.DataSource=Infos;
4、把刚那条数据添加到数据库,如果出错弹出信息!
OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [tb_goods] where ID='" + ID + "'", con);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count != 0)
{
DataRow dr = DT.NewRow();
dr = dt.Rows[0];
DT.Rows.Add(dr);
dataGridView1.DataSource = DT;
}
运行报错:该行已经属于另一个表。
DataTable table = new DataTable(); //建议使用强名称数据集,设计时绑定
string conStr = "??";
public Form1()
{
this.InitializeComponent();
this.dataGridView1.DataSource = table;//这里可以使用前期绑定(设计时绑定)
} private void button1_Click(object sender, EventArgs e)
{
using (OleDbConnection con = new OleDbConnection(conStr))
{
using (OleDbCommand com = new OleDbCommand())
{
com.CommandText = "insert into tb_sales(Serial,ID,Name,Price,Re) select (Serial,ID,Name,Price,Re) from tb_goods where ID='" + ID + "'";
com.Connection = con;
using(OleDbDataAdapter adp=new OleDbDataAdapter(com))
{
using (DataTable tablex = new DataTable())
{
adp.Fill(tablex);
table.Merge(tablex); //合并数据表,这是关键
}
} } }
}