2005/09/13 8VB.net 2005 への期待


VB.net 2005 が、シンプルさを追求したというけれど、果たしてどれだけシンプルになってくるのかな。

開発環境の機能としてデーターベース接続するやつは、猥雑になるだけなので、いっそのことやめて欲しい。
そんなことよりも、どれだけ簡単なコードで、データーベースがオープンできるかに気を使って欲しい。

VB6の頃は、ADOにて、

Dim RS As ADODB.Recordset
Set RS = New ADODB.Recordset: RS.CursorLocation = adUseClient
RS.Open "select * from [TABLENAME]", "Provider=Microsoft.Jet.OLEDB.4.0; _
Data Source=" & DATABASEPATH & ";", adOpenDynamic, adLockOptimistic

とすれば開けた。

ADO.NETでは、

Private Function OleMdbOpen(ByVal DBname As String) As Data.OleDb.OleDbConnection
 Dim tempCn As Data.OleDb.OleDbConnection
 tempCn = New Data.OleDb.OleDbConnection _
 ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBname)
 Return tempCn
 tempCn = Nothing
End Function

Private Function OleDAOpen(ByVal SQLString As String, _
ByVal ConnStr As Data.OleDb.OleDbConnection) As Data.OleDb.OleDbDataAdapter
 Dim tempDA As Data.OleDb.OleDbDataAdapter
 tempDA = New Data.OleDb.OleDbDataAdapter(New Data.OleDb.OleDbCommand _
 (SQLString, ConnStr))
 Return tempDA
 ConnStr = Nothing
 tempDA = Nothing
End Function

上の2つの関数を実装しておけば以下の手続きでレコードセットが返る。

Dim Cn As New Data.OleDb.OleDbConnection
Dim Da As New Data.OleDb.OleDbDataAdapter
Dim Ds As New Data.DataSet
Cn = OleMdbOpen(DATABASEPATH)
Da = OleDAOpen("Select * from [TableName]", Cn)
Da.Fill(Ds, "TableName")

となる。非常に面倒くさい。
例えば、VB6だったら例えば研究室のスタッフが片手間に学べたけれど、DOTNETはそう簡単にはいかない。
DOTNET哲学は確かに面白いのだけれど、マニアックに走ってユーザーが減った見本のようになっており、
Microsoft は大失敗して、本当は問題にならない他の言語に追随の余地を与えてしまっている。
エンドユーザー向けOSの独占と、まあまあいい具合のサーバー向けOSを持っているのに、
その地の利を生かせないというのはかなりもったいない。VB.net 2005 期待しています。



<前へ  次へ>

INDEX

AliceGallery StrataDictionary

(c) 1995 - 2022 AliceGallery