Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 合并子句的奇怪行为_C#_Winforms - Fatal编程技术网

C# 合并子句的奇怪行为

C# 合并子句的奇怪行为,c#,winforms,C#,Winforms,好人!我在这里遇到了一个问题,真的需要你的帮助。我有一个Winforms应用程序,它有几个选项卡。它连接到MS SQL Server 2008 DB,并在第一个选项卡上显示DataGridView,我们可以在其中 连接到数据库: private void button_ConnectDB_Click(object sender, EventArgs e) { if (sqlConnection == null || sqlConnection.State != ConnectionSta

好人!我在这里遇到了一个问题,真的需要你的帮助。我有一个Winforms应用程序,它有几个选项卡。它连接到MS SQL Server 2008 DB,并在第一个选项卡上显示DataGridView,我们可以在其中 连接到数据库:

private void button_ConnectDB_Click(object sender, EventArgs e)
{
    if (sqlConnection == null || sqlConnection.State != ConnectionState.Open)
        sqlConnection = new SqlConnection(connectionString);
    sqlConnection.Open();
    try
    {
        dataAdapter = new SqlDataAdapter(queryStringUsers, sqlConnection);
        SetConnectDBObjects();
        SetConnectDBButtons();
    }
    catch
    {
        ShowUnableToConnect();
        return;
    }

}
并从DB获得一些信息:

private void button_SpecAcc_Click(object sender, EventArgs e)
    {
        dataGridView1.DataSource = this.usersBindingSource;
        LoadData(ref dataAdapter, ref clientDataSet, TAB_USERS);
        dataGridView1.ReadOnly = false;
    },
其中,加载数据实际上是:

private void LoadData(ref SqlDataAdapter dataAdapter, ref clientDataSet dataset, string table)
    { dataAdapter.Fill(dataset, table); }
我将dataAdapter直接连接到SQL Server,因此它会自动配置(所有操作,如插入、更新、删除)。一切正常(可以连接到数据库,进行任何操作,保存(通过应用按钮,使用适配器的更新方法),直到我决定制作另一个选项卡。 另一个选项卡应该从其他位置(我连接过的某些ext设备)获取信息(几行),将其放入DataTable并与DB中的其他行合并。是否按照本教程在该选项卡上完成了所有操作:

当我尝试合并一些行时,我可以在DB nice and goodUPDATE中看到,但是在我的第一个选项卡(表单上)中,我可以看到两个不同的行(一行,好像没有被触摸过,另一行,好像被更新过)。我想这可能是由于刷新(尝试刷新GridView,但没有帮助)或其他元素的刷新(但哪一个?…),但我仍然找不到它。
非常感谢您的帮助。。。谢谢

通过创建临时数据集、编辑(通过DataRows)并将其放入数据库来处理它。感谢所有的观看者:)

不幸的是,现在找不到它。。忘了提一下,在我重新运行应用程序之后,我只看到了一行,就像它应该看到的那样。主要的问题是在运行时获得一行。或者,如果我在启动程序并合并(启动程序,然后合并,然后连接并在第一个选项卡上查看数据库)后查看我的第一个选项卡,也可以。只有在合并之前连接,我才看到这些幻象..将id追到适配器。填充方法问题。它添加行而不是刷新行。有人知道如何避免这个问题吗?