从字符串转换为datetime时转换vaild [英] conversion vaild when converting from string to datetime

查看:89
本文介绍了从字符串转换为datetime时转换vaild的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

i拥有vb中的属性

她的类型是字符串

这是我将其添加到db

hi all ,
i have property in vb
her type is string
this is my code fo adding it to the db

begin try declare @stageid
int declare @schoolid nchar(10)
 begin tran
 INSERT INTO tbl_lisense (old_lisense_number,edu_type_id,lisenses_date ,lisensee_date,school_id,old_lisense_date) VALUES (N'4575168',1,CONVERT(VARCHAR(10),'12/02/1436', 131) ,CONVERT(VARCHAR(10),'12/10/1438', 131),1985,CONVERT(VARCHAR(10),'10/11/1433', 131) ) ;    set @stageid =1 set @schoolid=1985   insert into tbl_scholl_stage values(@stageid,@schoolid) IF @@TRANCOUNT > 0  BEGIN COMMIT TRANSACTION  End End Try begin catch  SELECT  ERROR_NUMBER() AS ErrorNumber, ERROR_SEVERITY() AS ErrorSeverity, ERROR_STATE() AS ErrorState, ERROR_PROCEDURE() AS ErrorProcedure,ERROR_LINE() AS ErrorLine, ERROR_MESSAGE() AS ErrorMessage
 IF @@TRANCOUNT > 0 BEGIN  ROLLBACK TRANSACTION End end catch



它运行良好

我在gridview中查看它

com.CommandText =select old_lisense_number,edu_type_id,CONVERT(VARCHAR(10),lisenses_date,101 )lisenses_date,CONVERT(VARCHAR(10),lisensee_date,101)lisensee_date,tbl_lisense.school_id,CONVERT(VARCHAR(10),old_lisense_date,101)old_lisense_date来自tbl_lisense,其中school_id ='& schollid& '



工作得很好

问题发生时,iam尝试更新日期值来自gridview
带有此查询的


com.CommandText =update tbl_lisense set lisenses_date = CONVERT(VARCHAR(10),'& obj_lisen.Lisenses_date&',131),lisensee_date = CONVERT (VARCHAR(10),'& obj_lisen.Lisensee_date&',131)其中old_lisense_number = N'& Convert.ToString(obj_lisen.Old_lisense_number)& '和school_id =& Convert.ToString(obj_lisen.School_id)&



它有时会给我带来异常,而在其他时候它会起作用

i只需从文本框中获取值并将其赋予属性

可以帮助我吗?


it's working well
iam viewing it in gridview
com.CommandText = "select old_lisense_number,edu_type_id,CONVERT(VARCHAR(10),lisenses_date,101)lisenses_date,CONVERT(VARCHAR(10),lisensee_date,101)lisensee_date,tbl_lisense.school_id,CONVERT(VARCHAR(10),old_lisense_date,101)old_lisense_date from tbl_lisense where school_id='" & schollid & "'"

it'sworking well
the problem happen when iam trying to update the value of dates takes from gridview
with this query
com.CommandText = "update tbl_lisense set lisenses_date=CONVERT(VARCHAR(10),'" & obj_lisen.Lisenses_date & "', 131),lisensee_date=CONVERT(VARCHAR(10),'" & obj_lisen.Lisensee_date & "',131 ) where old_lisense_number=N'" & Convert.ToString(obj_lisen.Old_lisense_number) & "' and school_id= " & Convert.ToString(obj_lisen.School_id) & " "

it give me exception sometimes and in other times it's working weel
i just take the value from textbox and assogn it to property
could any one help me ?

推荐答案

看看你的日期,12/10/1438和12/02/1436 ,然后查看SQL DateTime数据类型的有效日期范围。



http://msdn.microsoft.com/en-us/library/ms187819.aspx [ ^ ]
Look at your dates, "12/10/1438" and "12/02/1436", and then look at the valid date ranges for the SQL DateTime data type.

http://msdn.microsoft.com/en-us/library/ms187819.aspx[^]


我认为..

您正在尝试将varchar(10)值插入到日期时间或日期列到Sql表中,例如..

I think..
You are trying to insert the varchar(10) value to a Datetime or Date Column into Sql Table like..
CONVERT(VARCHAR(10),'12/10/1438', 131),1985,CONVERT(VARCHAR(10),'10/11/1433', 131) )







如果不是问题..







if it's not the problem..


1>debug the code and try to find what value  [obj_lisen.Lisenses_date] getting..
and see is it really convertable to datetime.




or try to use 
Convert.ToDatetime(obj_lisen.Lisenses_date)


这篇关于从字符串转换为datetime时转换vaild的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆