VB存储过程到数据网格视图

时间:2012-04-04 19:15:37

标签: sql vb.net sql-server-2005 stored-procedures

我正在开发一个包含已完成和链接数据库的Visual Basic 2008应用程序。我已经创建了许多可以正常运行的存储过程。但是,有一个存储过程允许用户输入两年。然后,开始年份和结束年份将在datagridview中显示结果。这在存储过程中运行时很有效,但是当它在Visual Basic中实现时,只有第二列显示结果,而year列保留为空。

我想知道是不是因为在数据库中,参数是在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

继承了VB的代码,它和我一直在使用的其他代码一样,这个代码似乎不起作用

Private sel As New trendsCategoryDataContext

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

0 个答案:

没有答案