localhost中的日期时间无效插入 [英] Datetime invalid insert in localhost

查看:91
本文介绍了localhost中的日期时间无效插入的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个网站使用ASP.NET,C#,SQL2005



我本地机器的日期时间是格式dd / MM / yyyy



我在运行应用程序时插入日期时间是正确的。



但是当我发布它并在 localhost(IIS v5.1)

1. DayTo =11/05/2013​​DateTime.Now =31 / 05/2013 - >好的

2. DayTo =13/05/2013​​DateTime.Now =31/05/2013​​ - >字符串未被识别为有效的DateTime。



我需要你的帮助!谢谢。



我的插入代码



  string  insert1 =  插入tbHangNhap(DayTo,TimeNow,TenDangNhap)值(@ DAY1,@ timenow,@用户); 
object [] pa1 = { day1 ,DateTime.Parse(txtTimeTO.Text), @ timenow,DateTime。现在, @ user,txtuser.tex};







p / s:对不起,我的英语不好。

解决方案

< pre lang =c#> string insert1 = insert进入tbHangNhap(DayTo,TimeNow,TenDangNhap)值(@ day1,@ timenow,@ user);
object [] pa1 = { day1 ,DateTime.Parse(txtTimeTO.Text).ToString( MM / dd / yyyy), @ timenow,DateTime.Now.ToString( MM / dd / yyyy);, @ user,txtuser.tex};


查看此行



object [] pa1 = {day1,DateTime.Parse(txtTimeTO.Text),@ timenow,DateTime.Now,@ user,txtuser.tex};



- >你提供了参数day1而不是@ day1;



- >您将txtTimeTO.Text转换为DateTime,请尝试DateTime.Parse(txtTimeTO.Text +12:00:00 AM)



DateTime格式应为31/05 / 2013年上午12:00:00。

由于您只提供日期,因此抛出错误。


  string  replace_day1 =您想要的date.ToString(  dd / MM / yyyy ); 
string replace_timenow =您想要的date.ToString( dd / MM / yyyy);



  string  insert1 =  插入tbHangNhap(DayTo,TimeNow,TenDangNhap)值(@ day1,@ timenow,@ user) ; 
Sqlcommand cmd = new Sqlcommand(insert1,你的连接);
cmd.Parameters.Add( new SqlParameter( @ day1,replace_day1));
cmd.Parameters.Add( new SqlParameter( @timenow,replace_timenow));
cmd.executenonquery();





另一种选择:



  string  replace_day1 =您想要的date.ToString(   dd / MM / yyyy); 
string replace_timenow =您想要的date.ToString( dd / MM / yyyy);





  string  insert1 =  插入tbHangNhap(DayTo,TimeNow,TenDangNhap)值(@ DAY1,@ timenow,@用户); 
object [] pa1 = { @ day1,replace_day1, @ timenow,replace_timenow, @ user,txtuser.tex};


I have a website use ASP.NET, C#, SQL2005

datetime in my local machine is format "dd/MM/yyyy"

I insert datetime when i run application is ok.

But when i publish it and run in localhost (IIS v5.1):
1. DayTo = "11/05/2013" DateTime.Now= "31/05/2013" -> OK
2. DayTo = "13/05/2013" DateTime.Now= "31/05/2013" -> String was not recognized as a valid DateTime.

I need your help! Thanks.

my insert code

string insert1 = "insert into tbHangNhap(DayTo,TimeNow,TenDangNhap)values(@day1,@timenow,@user)";
                   object[] pa1 = {"day1",DateTime.Parse(txtTimeTO.Text),"@timenow",DateTime.Now,"@user",txtuser.tex};




p/s: sorry, My English is to bad.

解决方案

string insert1 = "insert into tbHangNhap(DayTo,TimeNow,TenDangNhap)values(@day1,@timenow,@user)";
                   object[] pa1 = {"day1",DateTime.Parse(txtTimeTO.Text).ToString("MM/dd/yyyy"),"@timenow",DateTime.Now.ToString("MM/dd/yyyy");,"@user",txtuser.tex};


Check this line

object[] pa1 = {"day1",DateTime.Parse(txtTimeTO.Text),"@timenow",DateTime.Now,"@user",txtuser.tex};

-> you have provided parameter "day1" instead of "@day1";

-> You converting txtTimeTO.Text to DateTime , try DateTime.Parse(txtTimeTO.Text+" 12:00:00 AM")

DateTime should be in format 31/05/2013 12:00:00 AM.
As you are providing only date it is throwing error.


string replace_day1= your desired date.ToString("dd/MM/yyyy");
string replace_timenow=your desired date.ToString("dd/MM/yyyy");


string insert1 = "insert into tbHangNhap(DayTo,TimeNow,TenDangNhap)values(@day1,@timenow,@user)";
Sqlcommand cmd=new Sqlcommand(insert1,your connection);
cmd.Parameters.Add(new SqlParameter("@day1", replace_day1));
cmd.Parameters.Add(new SqlParameter("@timenow",replace_timenow));
cmd.executenonquery();



Another Alternative:

string replace_day1= your desired date.ToString("dd/MM/yyyy");
string replace_timenow=your desired date.ToString("dd/MM/yyyy");



string insert1 = "insert into tbHangNhap(DayTo,TimeNow,TenDangNhap)values(@day1,@timenow,@user)";
object[] pa1 = {"@day1",replace_day1,"@timenow",replace_timenow,"@user",txtuser.tex};


这篇关于localhost中的日期时间无效插入的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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