私は、完成したリンク データベースを保持する Visual Basic 2008 アプリケーションに取り組んでいます。動作し、完全に表示されるストアド プロシージャをいくつか作成しました。ただし、ユーザーが 2 年を入力できるストアド プロシージャが 1 つあります。開始年と終了年は、datagridview に結果を表示します。これは、ストアド プロシージャで実行すると完全に機能しますが、Visual Basic で実装すると、2 列目にのみ結果が表示され、年列は空白のままになります。
データベースではパラメーターがDateTimeデータ型にあるためかどうか疑問に思っていましたが、ストアドプロシージャで呼び出すと整数です。何か提案はありますか?
@book_category Varchar(30),
@start_date INTEGER,
@end_year integer
AS
SELECT DATEPART(yyyy,Author.date_first_book), COUNT(DATEPART(yyyy,Author.date_first_book)) AS new_year_date
FROM Book
INNER JOIN Author
ON Book.book_ID = Author.author_ID
WHERE Author.category = @book_category
AND DATEPART(yyyy,Author.date_first_book) > @start_date AND DATEPART(yyyy,Author.date_first_book) < @end_year
GROUP BY DATEPART(yyyy,Author.date_first_book)
ORDER BY DATEPART(yyyy,Author.date_first_book) ASC
RETURN
Heres VB のコードです。これは、私が使用してきた他のすべてのコードと同じであり、これは機能していないようです
プライベート セルとしての新しいトレンドCategoryDataContext
Private Sub searchBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles searchBtn.Click
Dim selTrends = sel.trendsCategory(trendsCategoryNametxt.Text)
trendsCategoryResults.DataGridView1.DataSource = selTrends