C#中如何将LDAP获取的用户数据写入DataTable新增列?
解决方法:直接给DataRow的目标列赋值
嘿,这事儿其实超简单!你已经完成了添加列和遍历行的核心步骤,只需要在拿到LDAP返回的数据后,直接给当前DataRow的LDAP_Data列赋值就行啦。
完整的代码示例
把你的代码补全后应该是这样:
// 先添加目标列 myDataTable.Columns.Add(new DataColumn("LDAP_Data")); // 遍历每一行处理数据 foreach(DataRow row in myDataTable.Rows) { string email = row.Field<string>("EMAIL"); string myLDAPData = DoLDAPAction(email); // 直接给LDAP_Data列写入数据 row["LDAP_Data"] = myLDAPData ?? DBNull.Value; // 处理可能的null返回值 }
几个实用的小细节
- 列名匹配:确保赋值时用的
"LDAP_Data"和添加列时的名称完全一致(虽然.NET的DataRow索引器默认大小写不敏感,但保持一致能避免不必要的小坑)。 - Null值处理:如果
DoLDAPAction可能返回null,建议用?? DBNull.Value把普通null转换成数据库可识别的DBNull,避免后续操作出现异常(如果你的DataColumn允许null的话,这一步可选,但推荐加上)。 - 复杂数据类型适配:如果
DoLDAPAction返回的不是字符串而是自定义对象,记得在添加列时指定对应的数据类型,比如:
之后直接赋值对象即可。myDataTable.Columns.Add(new DataColumn("LDAP_Data", typeof(YourLDAPCustomClass)));
内容的提问来源于stack exchange,提问作者beari7
相关产品推荐
相关产品推荐

