我如何纠正此错误的代码(无法将类型'string'隐式转换为'System.DateTime') [英] code of how i can correct this error (Cannot implicitly convert type 'string' to 'System.DateTime')

查看:151
本文介绍了我如何纠正此错误的代码(无法将类型'string'隐式转换为'System.DateTime')的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 尝试
            {
                SqlCommand cmd =  SqlCommand("  + comboBox1.Text +  '",con);
                con.Close();
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                如果(rdr.Read())
                {
                    DateTime日期= System.Convert.ToDateTime(dateTimePicker1.Text);
                    date = rdr [ 0 ].ToString();
                    txtPrtNo.Text = rdr [ 1 ].ToString();
                    txtCliNo.Text = rdr [ 2 ].ToString();
                    txtQty.Text = rdr [ 3 ].ToString();
                    txtUprice.Text = rdr [ 4 ].ToString();
                    txtTax.Text = rdr [ 5 ].ToString();
                    txtTotP.Text = rdr [ 6 ].ToString();
                    txtBalnc.Text = rdr [ 7 ].ToString();
                    txtAmtpd.Text = rdr [ 8 ].ToString();
                    
                }
                con.Close();
            }
            捕获(异常mn)
            {
                MessageBox.Show(mn.Message);
            } 

解决方案

 date = rdr [ 0 ]] .ToString();


这行是错误的,您不能隐式地将字符串转换为DateTime-消息会清楚地告诉您.


在您发布的代码中,您曾经从某些datepicker中设置了date变量,然后在您尝试在下一行用SqlDataReader rdr数据覆盖日期的值.我的意思是这没什么用.首先,您决定要在date变量中存储哪些数据,然后尝试以下操作.

 Convert.ToDateTime(rdr [ 0 ].ToString())


 DateTime.Parse(rdr [ 0 ].ToString()); 


try
            {
                SqlCommand cmd = new SqlCommand("select * from buy where numero='" + comboBox1.Text + "'", con);
                con.Close();
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                if (rdr.Read())
                {
                    DateTime date = System.Convert.ToDateTime(dateTimePicker1.Text);   
                    date=rdr[0].ToString();
                    txtPrtNo.Text = rdr[1].ToString();
                    txtCliNo.Text = rdr[2].ToString();
                    txtQty.Text = rdr[3].ToString();
                    txtUprice.Text = rdr[4].ToString();
                    txtTax.Text = rdr[5].ToString();
                    txtTotP.Text = rdr[6].ToString();
                    txtBalnc.Text = rdr[7].ToString();
                    txtAmtpd.Text = rdr[8].ToString();
                    
                }
                con.Close();
            }
            catch (Exception mn)
            {
                MessageBox.Show(mn.Message);
            }

解决方案

date=rdr[0].ToString();


this line is wrong, you cannot implicitly convert a string to a DateTime - as the message clearly tells you.


In the code u posted u have once set the date variable from some datepicker and in the very next line u are trying to overwrite the date''s value with SqlDataReader rdr data. I mean that''s a bit useless thing to do. First of all u decide what data u want to store in date variable and then try the following..

Convert.ToDateTime(rdr[0].ToString())

or

DateTime.Parse(rdr[0].ToString());


这篇关于我如何纠正此错误的代码(无法将类型'string'隐式转换为'System.DateTime')的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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