我如何在Form#1中将Datetimepicker从Form1传递给Form2 [英] How I Pass Datetimepicker From Form1 To Form2 In C#
本文介绍了我如何在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 anint
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屋!
查看全文