c#WPF更新数据集特定列无效

时间:2016-09-12 02:33:42

标签: c# wpf

总体目标:尝试在关闭故障单的每一行上显示一个按钮(将打开状态列更改为0并使用datetime更新closeddate列)。

到目前为止完成的东西:我创建了按钮并显示数据集。但是,我无法弄清楚如何才能更新那两列(openstate,closeddate)。

我正在使用默认查询构建,这可能是我的问题。

因为没有让你阅读我尽可能少的所有代码。如果您需要更多请告诉我,如果您愿意,我会添加所有内容。新手就这样,让我知道您的需求:)。

xaml:

        <DataGrid x:Name="dgtask" Background ="Black"
        ItemsSource="{Binding}"
        AutoGenerateColumns="False">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Title"
                        Binding="{Binding Path='taskTitle'}" />
            <DataGridTextColumn Header="Description"
                        Binding="{Binding Path='taskDesc'}" />


            <!-- Add your normal columns here -->

            <DataGridTemplateColumn>
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button x:Name="btnclose" Click="btnclose_Click">My button</Button>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>
代码背后的

        private void btnclose_Click(object sender, RoutedEventArgs e)
    {
        DateTime date1 = DateTime.Now;
        _dsTaskTracker = new TimeTrackerDataSet();
        _taTaskTracker = new TimeTrackerDataSetTableAdapters.taskTableAdapter();
        _dtTaskTracker = new TimeTrackerDataSet.taskDataTable();
        _taTaskTracker.Update("I can't figure out how to limit this to only the two columns");
    }

对于那些草率的混乱,它并没有全力以赴 数据集代码:

   this._adapter.UpdateCommand.CommandText = @"UPDATE [dbo].[task] SET [taskTitle] = @taskTitle, [taskDesc] = @taskDesc, [creation] = @creation, [closed] = @closed, [taskOpen] = @taskOpen WHERE (([titleID] = @Original_titleID) AND ([taskTitle] = @Original_taskTitle) AND ((@IsNull_taskDesc = 1 AND [taskDesc] IS NULL) OR ([taskDesc] = @Original_taskDesc)) AND ((@IsNull_creation = 1 AND [creation] IS NULL) OR ([creation] = @Original_creation)) AND ((@IsNull_closed = 1 AND [closed] IS NULL) OR ([closed] = @Original_closed)) AND ((@IsNull_taskOpen = 1 AND [taskOpen] IS NULL) OR ([taskOpen] = @Original_taskOpen)));
SELECT titleID, taskTitle, taskDesc, creation, closed, taskOpen FROM task WHERE (titleID = @titleID)";

this._adapter.UpdateCommand.CommandType = global::System.Data.CommandType.Text;

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@taskTitle", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskTitle", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@taskDesc", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskDesc", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@creation", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "creation", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@closed", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "closed", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@taskOpen", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskOpen", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_titleID", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "titleID", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_taskTitle", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskTitle", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_taskDesc", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskDesc", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_taskDesc", global::System.Data.SqlDbType.VarChar, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskDesc", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_creation", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "creation", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_creation", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "creation", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_closed", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "closed", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_closed", global::System.Data.SqlDbType.DateTime, 0, global::System.Data.ParameterDirection.Input, 0, 0, "closed", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IsNull_taskOpen", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskOpen", global::System.Data.DataRowVersion.Original, true, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_taskOpen", global::System.Data.SqlDbType.Int, 0, global::System.Data.ParameterDirection.Input, 0, 0, "taskOpen", global::System.Data.DataRowVersion.Original, false, null, "", "", ""));

this._adapter.UpdateCommand.Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@titleID", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 0, 0, "titleID", global::System.Data.DataRowVersion.Current, false, null, "", "", ""));

0 个答案:

没有答案