2013-03-16 2 views
1

Я преобразование VB6 кода C# до сих пор преобразование идет хорошо, но я был просто спутать с Recordset преобразования в Dataset до сих пор я преобразовал и назначен данными набора записей с использованием набора данных следующим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

Вы можете попробовать что-то вроде этого: -

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; 
+0

Я использую базу данных 'SQL' – Dotnet

+0

Чек это: - http://stackoverflow.com/questions/409385/convert-persisted-ado-2-8-com-recordset-to-ado-net-dataset –

0

Близкое наиболее объект Recordset в ADO.NET является читателем. Считыватель открывает только прямой курсор только для чтения и позволяет читать записи. Существует принципиальная разница между набором записей и набором данных.

Dataset - это полная копия запрошенных данных в памяти. После получения данных в наборе данных он не требует подключения, тогда как для набора записей требуется соединение. Если вы не хотите двигаться вперед и назад по своим результатам, вы должны попробовать прочитать ридер. Вы сможете использовать аналогичный синтаксис для извлечения данных из считывателя.

+0

Привет, мне нужно преобразование и правильный код в соответствии с преобразованным – Dotnet

+0

Да, это правильно. Однако вы можете оптимизировать его, используя методы toDouble, toInt или toString. Кроме того, вы можете также получать данные в таблице вместо набора данных, которые позволят вам написать код типа tables.rows [0] ["ColumnName"]. ToString(); –

Смежные вопросы