我们在一个来自 VB6 的旧项目上运行了一个转换工具。
我们用 Ado.Net 代替 OLEDB,用 SqlDataReaders 代替 RecordSets。
但是转换后的代码总是做一个rs.Fields['FirstName']
引用,我猜这将是rs['FirstName']
数据库阅读器(其中 rs 现在是 q SqlDataReader.
有没有一种方法可以在 SqlDataReader 上创建一个扩展方法,而不是遍历所有代码,然后使用“ Fields['FieldName']
”?
这是我目前的尝试:
public static class SqlUtils
{
public static object Fields(this SqlDataReader dataReader, string fieldname)
{
return dataReader[fieldname];
}
}
但是,这适用于:
Console.WriteLine(reader.Fields("First").ToString());
我需要处理:
Console.WriteLine(reader.Fields["First"].ToString());
注意,[],而不是 ()。