我正在将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)
是正确还是其他?
答案 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打开只向前只读光标,允许您读取记录。记录集和数据集之间存在基本差异。
数据集是查询数据的内存中完整副本。获取数据集中的数据后,它不需要连接,而记录集需要连接。如果您不想在结果中前后移动,则应尝试使用阅读器。您将能够使用类似的语法从读取器获取数据。