まず、母国語ではない私の英語について申し訳ありません。私は具体的にしようとします。私は通常、Windows フォームを使用して VB プロジェクトに接続された mdf にストアド プロシージャを作成します。dbml ファイルを追加してから、ストア プロシージャを dbml デザイナーの関数列にドラッグ アンド ドロップします。次に、次のようなことができます: (この場合、私の DBML ファイル名は「Tutorials Data」です)
Public Class Form1
Private status As New TutorialsDataDataContext
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
Dim rec = status.TutorialStatus()
ComboBox1.DataSource = rec
End Sub
End Class
TutorialStatus() は 3 つの値を返します。このようなコードは Windows フォーム プロジェクトでうまく機能し、実行するとデータベースの値が表示されます。問題は、「DataSource」プロパティが WPF アプリケーションに存在しないように見え、それに最も類似しているのは「ItemsSources」プロパティであることです。問題は、そのプロパティが ComboBox で「tutorial_keeper_real.tutorialstatusresult」という 3 つの値を返すことです。
WPF プロジェクトで書いたコードは次のようになります。
Class MainWindow
Private status As New TutorialsDataDataContext
Private Sub winMain_Loaded(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles MyBase.Loaded
Dim rec
rec = status.TutorialStatus()
ComboBox1.ItemsSource = rec
End Sub
End Class
関数によって行われたアクションをデータベースに返しますが、実際の値は返しません。WPF を使用して Windows フォーム プロジェクトで行っていたことを達成する方法はありますか? Ado.net などを介してこれを行うように言わないでください。私はそれについて知っていますが、この方法で行うことを好みます... または Windows フォームに戻ります。では、みなさんよろしくお願いします!! そして、私の下手な英語で申し訳ありません... それは私の母国語ではありません.
PD。dbml を使用して、ストアド プロシージャに基づいて関数を作成する方法について誰かが疑問を持っている場合は、このビデオをご覧ください。