我如何在Form#1中将Datetimepicker从Form1传递给Form2 [英] How I Pass Datetimepicker From Form1 To Form2 In C#

查看:119
本文介绍了我如何在Form#1中将Datetimepicker从Form1传递给Form2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

form1: -

  private   void  button1_Click( object  sender,EventArgs e)
{
RPT.FRM_RPT_Car_Details_Date_end frm = new RPT.FRM_RPT_Car_Details_Date_end(dtp_date_End.Value);
frm.Show();
}



------------------------------ ------------------------------------------------ <无线电通信/>
form2: -



  public   partial   class  FRM_RPT_Car_Details_Date_end:表格
{
int x;

SqlConnection con = new SqlConnection( Server =。; Database = WhiteWhaleDB; Integrated Security = true);
SqlCommand sd;
SqlDataReader sda;
string s;

public FRM_RPT_Car_Details_Date_end(DateTime x)
{
InitializeComponent();

this .x = int .Parse(x);
}

private void FRM_RPT_Car_Details_Date_end_Load( object sender,EventArgs e)
{
s = 选择cars.Car_id,Job_card,将(varchar,s1.Change_date,101)转换为Change_date,将(varchar,Reload_License.Car_E_date_Licen,101)转换为Car_E_date_Licen,Service_Type.Servce_desc,Current_dist,Prev_distance为Prev_dist,value_Tashhem为来自Tashhem内连接的值Tashhem上的汽车.Car_id = Cars.Car_id内部联接Service_Type on Tashhem.Servce_id = Service_Type.Servce_id内部联接Reload_License on Cars.Car_id = Reload_License.Car_id其中Reload_License.Car_E_date_Licen = + x;
DataSet_Car_Details_end_date ds = new DataSet_Car_Details_end_date();
SqlDataAdapter dataAdapter = new SqlDataAdapter(s,con);
dataAdapter.Fill(ds.Tables [ Car_End_date]);
CrystalReport_Car_Details_date_end report = new CrystalReport_Car_Details_date_end();
report.SetDataSource(ds.Tables [ Car_End_date]);
crystalReportViewer_Car_Details_Date_end.ReportSource = report;
crystalReportViewer_Car_Details_Date_end.Refresh();
}
}

解决方案

嗯... DateTimePicker.Value属性是一个DateTime - 所以解析它如果 int 将失败:

  public  FRM_RPT_Car_Details_Date_end(DateTime x)
{
InitializeComponent();
this .x = int .Parse(x);
}

尝试将抛出一个异常,如果它被编译...它不会,因为没有接受DateTime参数的重载。

代替,将其存储为DateTime:

 DateTime x; 
...
public FRM_RPT_Car_Details_Date_end(DateTime x)
{
InitializeComponent();
.x = x;
}



并使用参数化查询将其传递给SQL:

 s = < span class =code-string> 选择cars.Car_id,Job_card,convert(varchar,s1.Change_date,101)为Change_date,convert(varchar,Reload_License。 Car_E_date_Licen,101)作为Car_E_date_Licen,Service_Type.Servce_desc,Current_dist,Prev_distance作为Prev_dist,value_Tashhem作为来自Tashhem内部加入汽车的价值Tashhem.Car_id = Cars.Car_id内部加入Service_Type on Tashhem.Servce_id = Service_Type.Servce_id内部加入Reload_License on Cars。 Car_id = Reload_License.Car_id,其中Reload_License.Car_E_date_Licen = @Date; 
DataSet_Car_Details_end_date ds = new DataSet_Car_Details_end_date();
SqlDataAdapter dataAdapter = new SqlDataAdapter(s,con);
dataAdapter.SelectCommand.Parameters.AddWithValue( @ Date,x);


form1 :-

private void button1_Click(object sender, EventArgs e)
        {
            RPT.FRM_RPT_Car_Details_Date_end frm = new RPT.FRM_RPT_Car_Details_Date_end(dtp_date_End.Value);
            frm.Show();
        }


------------------------------------------------------------------------------
form2 :-

public partial class FRM_RPT_Car_Details_Date_end : Form
   {
       int x;

       SqlConnection con = new SqlConnection("Server= .; Database= WhiteWhaleDB; Integrated Security = true");
       SqlCommand sd;
       SqlDataReader sda;
       string s;

       public FRM_RPT_Car_Details_Date_end(DateTime x)
       {
           InitializeComponent();

           this.x = int.Parse(x);
       }

       private void FRM_RPT_Car_Details_Date_end_Load(object sender, EventArgs e)
       {
           s = "select cars.Car_id,Job_card,convert(varchar,s1.Change_date,101) as Change_date ,convert(varchar,Reload_License.Car_E_date_Licen,101) as Car_E_date_Licen, Service_Type.Servce_desc, Current_dist,Prev_distance as Prev_dist,value_Tashhem as Value from Tashhem inner join cars on Tashhem.Car_id= Cars.Car_id inner join Service_Type on Tashhem.Servce_id = Service_Type.Servce_id inner join Reload_License on Cars.Car_id = Reload_License.Car_id where Reload_License.Car_E_date_Licen = " + x;
           DataSet_Car_Details_end_date ds = new DataSet_Car_Details_end_date();
           SqlDataAdapter dataAdapter = new SqlDataAdapter(s, con);
           dataAdapter.Fill(ds.Tables["Car_End_date"]);
           CrystalReport_Car_Details_date_end report = new CrystalReport_Car_Details_date_end();
           report.SetDataSource(ds.Tables["Car_End_date"]);
           crystalReportViewer_Car_Details_Date_end.ReportSource = report;
           crystalReportViewer_Car_Details_Date_end.Refresh();
       }
   }

解决方案

Um...A DateTimePicker.Value property is a DateTime - so parsing it as an int is going to fail:

public FRM_RPT_Car_Details_Date_end(DateTime x)
{
    InitializeComponent();
    this.x = int.Parse(x);
}

The attempt will throw an exception, if it compiled...which it wouldn't as there is no overload which accepts a DateTime parameter.
Instead, store it as a DateTime:

DateTime x;
...
public FRM_RPT_Car_Details_Date_end(DateTime x)
{
    InitializeComponent();
    this.x = x;
}


And use a parameterized query to pass it to SQL:

s = "select cars.Car_id,Job_card,convert(varchar,s1.Change_date,101) as Change_date ,convert(varchar,Reload_License.Car_E_date_Licen,101) as Car_E_date_Licen, Service_Type.Servce_desc, Current_dist,Prev_distance as Prev_dist,value_Tashhem as Value from Tashhem inner join cars on Tashhem.Car_id= Cars.Car_id inner join Service_Type on Tashhem.Servce_id = Service_Type.Servce_id inner join Reload_License on Cars.Car_id = Reload_License.Car_id where Reload_License.Car_E_date_Licen = @Date";
 DataSet_Car_Details_end_date ds = new DataSet_Car_Details_end_date();
 SqlDataAdapter dataAdapter = new SqlDataAdapter(s, con);
 dataAdapter.SelectCommand.Parameters.AddWithValue("@Date", x);


这篇关于我如何在Form#1中将Datetimepicker从Form1传递给Form2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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