将数据库一张表中多个field中的内容转移到field和值对应的表中


Data_basic recordData = new Data_basic();
Data_basic recordData2 = new Data_basic();
recordData.ExecuteDataset(string.Format("select staffID,unitLeader,drawing,teaching,computer from igos_Staff"));
DataTable dt = new DataTable();
DataRow rowEdited = dt.NewRow();
if (recordData.AffectedRow > 0)
{
for (int y = 0; y < recordData.Dataset.Tables.Count; y++)
{
dt = recordData.Dataset.Tables[y];
for (int x = 0; x < recordData.Dataset.Tables[y].Rows.Count; x++)
{
rowEdited = dt.Rows[x];
string s = (String.Format(@"insert into igos_StaffType
(staffID, items, itemValue) values (
'{0}','{1}','{2}')",
rowEdited["staffID"], "unitLeader", rowEdited["unitLeader"]));
s += (String.Format(@"insert into igos_StaffType
(staffID, items, itemValue) values (
'{0}','{1}','{2}')",
rowEdited["staffID"], "drawing", rowEdited["drawing"]));
s += (String.Format(@"insert into igos_StaffType
(staffID, items, itemValue) values (
'{0}','{1}','{2}')",
rowEdited["staffID"], "teaching", rowEdited["teaching"]));
s += (String.Format(@"insert into igos_StaffType
(staffID, items, itemValue) values (
'{0}','{1}','{2}')",
rowEdited["staffID"], "computer", rowEdited["computer"]));
recordData2.ExcuteNonQuery(s);
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 C# API 对数据库的表进行数据上传,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了适当的数据库连接库,例如 MySQL Connector/NET 或者 Microsoft.Data.SqlClient(适用于 SQL Server)。 2. 创建数据库连接字符串,用于连接到你的数据库。连接字符串包括数据库的地址、用户名、密码和数据库名称等信息。 ```csharp string connectionString = "Server=your_server;Database=your_database;User Id=your_username;Password=your_password;"; ``` 注意根据你使用的数据库类型和配置进行适当的修改。 3. 创建数据库连接对象,并打开数据库连接。 ```csharp using (var connection = new MySqlConnection(connectionString)) { connection.Open(); // 在这里执行数据上传的操作 } ``` 4. 构造要插入的数据。可以使用集合类(例如 List 或 Dictionary)来存储数据。每个数据对象表示一行数据,包含对应字段的。 ```csharp List<Dictionary<string, object>> data = new List<Dictionary<string, object>>(); // 添加数据到集合 Dictionary<string, object> row1 = new Dictionary<string, object>(); row1["Field1"] = value1; row1["Field2"] = value2; // ... data.Add(row1); Dictionary<string, object> row2 = new Dictionary<string, object>(); row2["Field1"] = value3; row2["Field2"] = value4; // ... data.Add(row2); // 继续添加更多行数据 ``` 5. 构造插入数据的 SQL 语句,并创建 MySqlCommand 对象。 ```csharp string sql = "INSERT INTO your_table (Field1, Field2, ...) VALUES (@Field1, @Field2, ...)"; using (var command = new MySqlCommand(sql, connection)) { // 添加参数到 MySqlCommand 对象 command.Parameters.AddWithValue("@Field1", value1); command.Parameters.AddWithValue("@Field2", value2); // ... // 执行插入操作 int rowsAffected = command.ExecuteNonQuery(); } ``` 根据你的表结构和字段名,修改 SQL 语句和参数名称。 6. 重复步骤 5,为每一行数据执行插入操作。你可以使用循环来遍历数据集合,并为每行数据构造并执行 SQL 插入语句。 ```csharp foreach (var row in data) { // 构造插入数据的 SQL 语句,并创建 MySqlCommand 对象 // 执行插入操作 } ``` 7. 关闭数据库连接。 ```csharp connection.Close(); ``` 确保在代码添加适当的错误处理和异常处理,以及对数据库连接和操作进行适当的资源释放。另外,注意验证和换数据类型,以确保插入操作的准确性和完整性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值