当使用datepart函数从数据库中选择日期时,它给出了错误---为datepart指定的参数1无效。 [英] when m using datepart function for select Date from database it give me error --- Invalid parameter 1 specified for datepart.
问题描述
我想根据月号在tblbill中选择日期栏
这里用户选择下拉列表ddlmonth,其中包含项目1月,2月等等
和下拉列表ddlyear包含一个从现在起20年前进和后退年份的循环
对于 intYear = DateTime.Now.Year - 20 DateTime.Now.Year + 20
ddlyear.Items.Add(intYear)
Next
<当用户点击按钮btnbillbymonth时,它给了我错误----
为datepart指定的参数1无效。
$
b $ b
受保护 Sub btnbillbymonth_Click( ByVal sender As 对象, ByVal e As EventArgs)句柄 btnbillbymonth.Click
myCalendar.Visible = False
ddlmonth.Visible = 错误
ddlyear.Visible = 错误
昏暗 cmdselect 作为 新 SqlCommand( select * from tblbill MONTH(Date)= DatePart('& ddlmonth.SelectedValue& ',Date)和year(Date)='& ddlyear.SelectedValue& ',con)
da = 新 SqlDataAdapter(cmdselect)
dt = 新 DataTable()
con.Open()
da.Fill( dt)
GridView1.DataSource = dt
GridView1.DataBind()
结束 Sub
i dnt明白我想失踪...
请帮帮我
引用:将varchar值'March'转换为数据类型int时转换失败。
这是因为绑定时没有为
DropDownList提供整数值
价值。
您应该这样做...
ddlmonth.Items。添加( new ListItem( 1月, 1))
ddlmonth.Items.Add( new ListItem( 二月, 2))
.....
参考 - 如何:在列表Web服务器控件中添加项目 [ ^ ]
数据部分查询必须以这种方式使用
这是一个例子
SELECT DATEPART(yyyy,OrderDate)AS OrderYear,
DATEPART(mm,OrderDate)AS OrderMonth,
DATEPART(dd,OrderDate)AS OrderDay,
来自订单
WHERE OrderId = 1
和转换失败你传递的值而不是文本因此在数据库中检查一次是否为nvarchar或int,如果它的nvarchar然后传递jan等,如果它的int然后传递值
i want to select Date column in tblbill according to month number
here user select dropdownlist ddlmonth which have items "January" ,"Feburary" so on
and dropdownlist ddlyear contain a loop for 20 year forward and backword years from now
For intYear = DateTime.Now.Year - 20 To DateTime.Now.Year + 20 ddlyear.Items.Add(intYear) Next
when user click on button btnbillbymonth it gives me error that ----
Invalid parameter 1 specified for datepart.
Protected Sub btnbillbymonth_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnbillbymonth.Click myCalendar.Visible = False ddlmonth.Visible = False ddlyear.Visible = False Dim cmdselect As New SqlCommand("select * from tblbill where MONTH(Date) = DatePart('" & ddlmonth.SelectedValue & "',Date) and year(Date) = '" & ddlyear.SelectedValue & "' ", con) da = New SqlDataAdapter(cmdselect) dt = New DataTable() con.Open() da.Fill(dt) GridView1.DataSource = dt GridView1.DataBind() End Sub
i dnt understand want m missing here ...
please help me解决方案Quote:Conversion failed when converting the varchar value 'March' to data type int.
That's because while Binding you have not provided the integer value for
DropDownList
value.
You should do like...
ddlmonth.Items.Add(new ListItem("January", "1")) ddlmonth.Items.Add(new ListItem("February", "2")) .....
Data part query has to be used in this way
its an example
SELECT DATEPART(yyyy,OrderDate) AS OrderYear,
DATEPART(mm,OrderDate) AS OrderMonth,
DATEPART(dd,OrderDate) AS OrderDay,
FROM Orders
WHERE OrderId=1
and coming to conversion failed ur passing value instead of text so check once in database whether the month is nvarchar or int if its nvarchar then pass jan etc if its int then pass values
这篇关于当使用datepart函数从数据库中选择日期时,它给出了错误---为datepart指定的参数1无效。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!