记录集到数据集转换

时间:2013-03-16 09:25:31

标签: c# vb6 dataset recordset

我正在将VB6代码转换为C#到目前为止转换正常但我只是将Recordset转换为Dataset而感到困惑到目前为止我转换并分配了记录集使用数据集的数据如下

String strData = ds.Tables[0].Rows[0]["Col"].ToString(); 
//this is in VB6 code rs!Col

此转换是否正确,如果是,我有一些记录集如下

double d = rs(somestring).Value // before this a select query executed

如何使用dataset

转换此内容
double d= double.Parse(ds.Tables[0].Rows[0]["someString"].ToString());

另外rs.Fields(col)

是正确还是其他?

2 个答案:

答案 0 :(得分:0)

您可以尝试这样的事情: -

ADODB.Connection oConn = new ADODB.Connection();
oConn.Open("Connection String", "", "", 0);
string strQuery = "";//Your select query or the query through which you are fetching data from database";
ADODB.Recordset rs = new ADODB.Recordset();
System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter();
DataTable dt = new DataTable();
rs.Open(strQuery, " Connection String,                ADODB.CursorTypeEnum.adOpenForwardOnly, ADODB.LockTypeEnum.adLockReadOnly, 1);
adapter.Fill(dt, rs);
return dt;

答案 1 :(得分:0)

ado.net中记录集最接近的对象是读者。 Reader打开只向前只读光标,允许您读取记录。记录集和数据集之间存在基本差异。

数据集是查询数据的内存中完整副本。获取数据集中的数据后,它不需要连接,而记录集需要连接。如果您不想在结果中前后移动,则应尝试使用阅读器。您将能够使用类似的语法从读取器获取数据。