当前位置:编程学习 > C#/ASP.NET >>

下面的代码在字符串转换为时间类型是出错为什么那?

protected void cmdSaveExi_Click(object sender, ImageClickEventArgs e)
    {
        
        cn.Open();

        SqlCommand cmd = new SqlCommand("insert1", cn);
        cmd.CommandType = CommandType.StoredProcedure;
        //添加参数
        SqlParameter dateaa1 = cmd.Parameters.Add("@time", SqlDbType.DateTime, 8);
        dateaa1.Value = TextBox6.Text;
        SqlParameter dateaa2 = cmd.Parameters.Add("@compact_numbe", SqlDbType.NVarChar, 50);
        dateaa1.Value = TextBox1.Text;
        SqlParameter dateaa3 = cmd.Parameters.Add("@list_number", SqlDbType.NVarChar, 50);
        dateaa3.Value = TextBox2.Text;
        SqlParameter dateaa4 = cmd.Parameters.Add("@client_name", SqlDbType.NVarChar, 50);
        dateaa4.Value = TextBox3.Text;
        SqlParameter dateaa5 = cmd.Parameters.Add("@print_name", SqlDbType.NVarChar, 50);
        dateaa5.Value = TextBox4.Text;
        SqlParameter dateaa6 = cmd.Parameters.Add("@feilin_intime", SqlDbType.DateTime);
        dateaa6.Value = Convert.ToDateTime(TxtTime2.Text);
        SqlParameter dateaa7 = cmd.Parameters.Add("@print_time ", SqlDbType.DateTime);
        dateaa7.Value = Convert.ToDateTime(TxtTime3.Text);
        SqlParameter dateaa8 = cmd.Parameters.Add("@make_time ", SqlDbType.DateTime);
        dateaa8.Value =Convert.ToDateTime( TxtTime4.Text);
        SqlParameter dateaa9 = cmd.Parameters.Add("@end_time  ", SqlDbType.DateTime);
        dateaa9.Value =Convert.ToDateTime( TextBox7.Text);
        SqlParameter dateaa10 = cmd.Parameters.Add("@note", SqlDbType.NVarChar, 50);
        dateaa10.Value = TextBox5.Text;
        cmd.ExecuteNonQuery();//类型转换的时候总是出错!
        cn.Close();
        this.Response.Redirect("Default.asps");

    那位高手可以帮忙改一下多谢了!



--------------------编程问答-------------------- 看看TxtTime2.Text这些都是什么 --------------------编程问答--------------------
DateTime.Parse(TxtTime3.Text.Trim());

TxtTime3.Text.Trim()) 里的内容最好先验证一下!!!!! --------------------编程问答-------------------- 再看看你数据库字段的属性是什么。还有就是你存储过程是否正确。 --------------------编程问答-------------------- 看看TxtTime2.Text这些都是什么
都是 文本框啊!
下面是存储过程;
CREATE PROCEDURE insert1
 @time datetime,
 @compact_number  nvarchar (50),
 @list_number nvarchar (50),
 @client_name nvarchar (50),
 @print_name  nvarchar (50),
 @feilin_intime  datetime ,
 @print_time  datetime ,
 @make_time  datetime ,
  @end_time         datetime,
  @note                nvarchar  (50)
as
insert into info_table (time,compact_number,list_number,client_name,print_name,feilin_intime,print_time,make_time,end_time,note )
values (  @time, @compact_number,  @list_number,  @client_name, @print_name ,@feilin_intime ,  @print_time ,@make_time , @end_time , @note  )
GO --------------------编程问答-------------------- >>都是 文本框啊!

你如果在文本框输入abcd的时候是无法保存到datetime类型的字段的,时间输入最好用datetimepicker控件 --------------------编程问答-------------------- 知道是文本框 
我们想知道你文本框的内容
你转化可能是格式错误 --------------------编程问答-------------------- 我看是你的TEXT根本就不是时间类型来的。。用time控件吧。。。 --------------------编程问答-------------------- 不是time控件也得做个正则来限制一下啊。要是输入的格式得的话还是可以转换的。 --------------------编程问答-------------------- 我就找不到时间控件啊 ,我在vs2005里面的啊 ,好像就没有啊!
--------------------编程问答-------------------- 工具箱里面
DateTimePicker控件
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,