winform程序MainForm 页面显示所有的图书信息列表 方法如下
public void getBookList()
{
ConnectDBStrClass connstr = new ConnectDBStrClass();
String connDBStr = connstr.getConnectDBStr();
String sql = "select * from book";
SqlDataAdapter adapter = new SqlDataAdapter(sql, connDBStr);
DataTable dt = new DataTable();
adapter.Fill(dt);
info_label2 .Text ="共 " +dt.Rows.Count + " 条信息。";
dataGridView1.DataSource = dt;
}在另一个addBook.cs里增加信息
增加成功后
.......................
int i = comm.ExecuteNonQuery ();
conn.Close();
if (i == 1)
{
MessageBox.Show("增加成功!");
MainForm f = new MainForm();
f.getBookList();//条用mainForm里的方法,让它重新获取一下数据,可是没有显示出新添加的数据
Close(); //请问这是为什么?我该怎么做?
}
else
{
MessageBox.Show("增加失败!");
Close();
}
public void getBookList()
{
ConnectDBStrClass connstr = new ConnectDBStrClass();
String connDBStr = connstr.getConnectDBStr();
String sql = "select * from book";
SqlDataAdapter adapter = new SqlDataAdapter(sql, connDBStr);
DataTable dt = new DataTable();
adapter.Fill(dt);
info_label2 .Text ="共 " +dt.Rows.Count + " 条信息。";
dataGridView1.DataSource = dt;
}在另一个addBook.cs里增加信息
增加成功后
.......................
int i = comm.ExecuteNonQuery ();
conn.Close();
if (i == 1)
{
MessageBox.Show("增加成功!");
MainForm f = new MainForm();
f.getBookList();//条用mainForm里的方法,让它重新获取一下数据,可是没有显示出新添加的数据
Close(); //请问这是为什么?我该怎么做?
}
else
{
MessageBox.Show("增加失败!");
Close();
}
你掉了一个东东;dataGridView1.DataBind();Close(); 可能是你定义的一个方法,估计是关闭数据库连接~`
哥哥说清楚啊
info_label2 .Text ="共 " +dt.Rows.Count + " 条信息。";
dataGridView1.DataSource = dt;
这个后面加 这句dataGridView1.DataBind(); 上面的都说的太专业了!
conn.Close();
if (i == 1)
{
MessageBox.Show("增加成功!");
MainForm f = new MainForm();
f.getBookList();//条用mainForm里的方法,让它重新获取一下数据,可是没有显示出新添加的数据
Close(); //请问这是为什么?我该怎么做?
} 没有显示添加的新的数据是因为你数据库操作问题 添加这个就成
String sql = "select * from book";
SqlDataAdapter adapter = new SqlDataAdapter(sql, connDBStr);
用SqlCommand执行完添加后在执行这个!具体的你自己写
这个只是大体的解决方法 .就是说当你执行完添加后,还要执行查询,才能再次显示你新的记录
你不在执行查询还是原来的查询结果的,肯定就显示不出来新的记录了!
dataGridView1.DataBind();
可是我怎么只是找到 dataGridView1.DataBindings ?呢???
并且 dataGridView1.DataBindings =dt 我这样写
却报错。
MainForm f = new MainForm();
f.getBookList();//条用mainForm里的方法,让它重新获取一下数据,可是没有显示出新添加的数据
Close(); //请问这是为什么?我该怎么做? 我现在怀疑我 MainForm f = new MainForm();
这句话
是不是我NEW 了一个新的MainForm之后,我更新的是新的MainfORM ,原来的没有更新呢?
public DataTable getBookList(string sql)
{
ConnectDBStrClass connstr = new ConnectDBStrClass();
String connDBStr = connstr.getConnectDBStr();
SqlDataAdapter adapter = new SqlDataAdapter(sql, connDBStr);
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
info_label2 .Text ="共 " +dt.Rows.Count + " 条信息。";
}