Как лучше всего кодировать следующие общие функции доступа к данным (ADO.NET, C # или VB, SQLServer или OLEDB)
- Выполнить SQL в соединении
- Откройте DataReader
- Откройте DataSet (есть идеи по этому поводу?)
Таким образом, я могу вызывать эти функции из любого места в моей программе. Меня не интересуют шаблоны доступа к данным или уровни доступа к данным, если они напрямую не применяются к этим функциям. (т.е. шаблон для автоматического закрытия соединения или считывателя / набора данных)
Примеры использования
ExecuteSQL("UPDATE tblTest SET x = 5 WHERE [ID] = 4") Using rdr As OleDb.OleDbDataReader = OpenReader("SELECT * FROM tblExecute") While rdr.Read() End While End Using
Примеры функций
Public Function ExecuteSQL(ByVal strSQL As String) As Boolean Using cn As New OleDb.OleDbConnection(strConn) cn.Open() Using cmd As New OleDb.OleDbCommand(strSQL, cn) Return cmd.ExecuteNonQuery() > 0 End Using End Using Return False End Function Public Function OpenReader(ByVal strSQL As String) As OleDb.OleDbDataReader Dim cn As New OleDb.OleDbConnection(strConn) cn.Open() If cn.State = ConnectionState.Open Then Dim cmd As New OleDb.OleDbCommand(strSQL, cn) Return cmd.ExecuteReader(CommandBehavior.CloseConnection) Else Throw New Exception("Unable to connect to database.") End If End Function