我正在使用c语言在dot net中开发一个Windows项目,后端是sql server数据库。
我正在做的是有一个SQL查询在表中插入数据
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source = ...........";
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO TableName(column1, column2) VALUES(txtBox1, txtBox2)", con);
SqlDataAdapter adp = new SqlDataAdapter(cmd);
Dataset ds = new Dataset();
现在,我遇到的问题是当我尝试使用Microsoft Report Viewer在另一个窗体中访问此表时。然后,由于需要刷新数据库,因此无法访问新插入的数据。 请告诉我如何解决这个问题。 提前致谢 迪帕克
答案 0 :(得分:1)
我认为您不需要刷新它,只需从db请求它并提交事务(如果您正在使用它)。但是,如果要在表单之间共享数据,请使用Registry模式来实现此目的。
注册表是为您保存数据的类,您可以从任何地方访问它,但使用静态变量和方法。
public class Registry
{
public static DataTable Users;
}
如果您从一个表单更改数据,则所有表单都将包含更新的数据。
答案 1 :(得分:-1)
似乎有很多错误,请更改此行
SqlCommand cmd = new SqlCommand("INSERT INTO TableName(column1, column2) VALUES(txtBox1, txtBox2)", con);
到
SqlCommand cmd = new SqlCommand(String.format("INSERT INTO TableName(column1, column2) VALUES('{0}', '{1}')",txtBox1.Text,txtBox2.Text), con);
并且您的命令从未在数据库上执行