有两个文本框,分别为tbxmintime,tbxmaxtime,现在我想把这两个文本框中的内容(如2005-11-1)写如数据表中,但是程序总是报错如:该字符串未被识别为有效的日期时间。有一个从索引 0 处开始的未知字请问如何解决??代码如下:
string strconn= ConfigurationSettings.AppSettings["vote"];
SqlConnection cn1= new SqlConnection (strconn);
cn1.Open ();
SqlCommand cm1=new SqlCommand ("TimeAdd",cn1);
cm1.CommandType =CommandType.StoredProcedure ;
cm1.Parameters .Add ("@mintime",SqlDbType.DateTime );
cm1.Parameters .Add ("@maxtime",SqlDbType.DateTime );
cm1.Parameters ["@mintime"].Value =mintime.Text.ToString();
cm1.Parameters ["@maxtime"].Value =maxtime.Text.ToString();
cm1.ExecuteNonQuery ();
cn1.Close ();
其中采用cm1.Parameters ["@mintime"].Value =Convert.ToDateTime(mintime.Text.Trim());或cm1.Parameters ["@mintime"].Value = DateTime.Parse(mintime.Text.ToString());进行调试,均未成功,所报的错误都如上所写,请问该如何修改???
存储过程如下:
CREATE PROCEDURE [TimeAdd]
( @mintime [datetime],
@maxtime [datetime])
AS INSERT INTO [NewsVote].[dbo].[Time]
( [mintime],
[maxtime])
VALUES
(@mintime,
@maxtime)
GO
string strconn= ConfigurationSettings.AppSettings["vote"];
SqlConnection cn1= new SqlConnection (strconn);
cn1.Open ();
SqlCommand cm1=new SqlCommand ("TimeAdd",cn1);
cm1.CommandType =CommandType.StoredProcedure ;
cm1.Parameters .Add ("@mintime",SqlDbType.DateTime );
cm1.Parameters .Add ("@maxtime",SqlDbType.DateTime );
cm1.Parameters ["@mintime"].Value =mintime.Text.ToString();
cm1.Parameters ["@maxtime"].Value =maxtime.Text.ToString();
cm1.ExecuteNonQuery ();
cn1.Close ();
其中采用cm1.Parameters ["@mintime"].Value =Convert.ToDateTime(mintime.Text.Trim());或cm1.Parameters ["@mintime"].Value = DateTime.Parse(mintime.Text.ToString());进行调试,均未成功,所报的错误都如上所写,请问该如何修改???
存储过程如下:
CREATE PROCEDURE [TimeAdd]
( @mintime [datetime],
@maxtime [datetime])
AS INSERT INTO [NewsVote].[dbo].[Time]
( [mintime],
[maxtime])
VALUES
(@mintime,
@maxtime)
GO
cm1.Parameters ["@mintime"].Value =mintime.Text.ToString();
cm1.Parameters ["@maxtime"].Value =maxtime.Text.ToString();
改成这样
if(mintime.Text!="")
{
cm1.Parameters ["@mintime"].Value =Convert.ToDateTime(mintime.Text);
}
else
{
cm1.Parameters ["@mintime"].Value =System.DBNull.Value;
}
if(maxtime.Text!="")
{
cm1.Parameters ["@maxtime"].Value =Convert.ToDateTime(maxtime.Text);
}
else
{
cm1.Parameters ["@maxtime"].Value =System.DBNull.Value;
}