C# DataTable指定获取数据

C# DataTable指定获取数据

private void JiShuan(DataTable dataTable)
        {
 
			//DataTable使用的是两列
            int put = 0;
            int putDay = 0;

            int OldHour = Convert.ToInt32(comboBoxOldHour.Text);
            int NewHour = Convert.ToInt32(comboBoxNewHour.Text);

			//将数据保存到键值对
            Dictionary<string, string> dic = new Dictionary<string, string>();
            for (int i = 0; i < dataTable.Rows.Count; i++)
            {
                if (dataTable.Rows[i][1].ToString() == "")
                    dataTable.Rows[i][1] = "0";
                dic.Add(dataTable.Rows[i][0].ToString(), dataTable.Rows[i][1].ToString());
                putDay += Convert.ToInt32(dataTable.Rows[i][1]);

            }
			//通过Key获取指定数据
            for (int i = OldHour; i <= NewHour; i++)
            {
                if (dic.ContainsKey((i.ToString())))
                    put += Convert.ToInt32(dic[i.ToString()]);
            }
        }
C# 中,DataTable 是一种用于存储表格数据的数据结构,它类似于 SQL 数据库中的表。如果你想更新 DataTable 的特定行,你可以按照以下步骤操作: 1. **创建或加载 DataTable**: 首先,你需要创建一个新的 DataTable 或者从数据库或其他数据源加载现有的 DataTable。 ```csharp DataTable dataTable = new DataTable(); // 或者从数据库读取 using (SqlConnection connection = new SqlConnection(connectionString)) { SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM YourTable", connection); adapter.Fill(dataTable); } ``` 2. **定位要更新的行**: 使用 `DataRow` 的索引来找到你想要修改的行。假设你要更新第3行,可以这样做: ```csharp DataRow rowToUpdate = dataTable.Rows[2]; // 假设索引从0开始 ``` 3. **更新字段**: 现在你可以在 `DataRow` 上设置新的。例如,如果你有一个名为 "YourColumn" 的列,你可以这样更新: ```csharp rowToUpdate["YourColumn"] = newValue; ``` 4. **保存更改**: 虽然 DataTable 直接不会像数据库那样自动提交更改,但在实际应用中,通常需要将 DataTable 的更改保存回数据库或者将其复制回原始数据源。这取决于你是如何获取 DataTable 的。 ```csharp // 如果是从数据库获取的,可以再次使用 SqlDataAdapter 更新数据 adapter.Update(dataTable); // 或者如果你有其他方法与数据库交互 SqlCommand command = new SqlCommand("UPDATE YourTable SET YourColumn = @NewValue WHERE ID = " + rowToUpdate["ID"].ToString(), connection); command.Parameters.AddWithValue("@NewValue", newValue); command.ExecuteNonQuery(); ``` 5. **完成操作**: 最后别忘了关闭连接和释放资源。 ```csharp connection.Close(); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值