Kin*_*mau 1 c# visual-studio-2010
我正在学习C#并使用Visual Studio 2010来构建工资单程序.我收到错误"无法将类型'int'隐式转换为'short'".
我的代码是:
private void btn_add_Click(object sender, EventArgs e)
{
try
{
// Get service instance
var employerPeriodService = Program.Kernel.Get<IEmployerPeriodService>();
// Get new code
var newCode = employerPeriodService.GenerateSAPCode();
// Create object
var employerPeriodAdd =
new EmployerPeriod
{
Code = newCode,
Name = newCode,
U_Tax_year = int.Parse(cb_tax_year.Text),
//U_Day_hrs = cb_number_hours.Text,
//U_Week_days = cb_number_days_week.Text,
//U_Week_hrs = txt_number_hours_week.Text,
//U_Month_days = cb_number_days_month.Text,
//U_Month_hrs = txt_number_hours_month.Text,
//U_Fortnight_days = cb_number_days_fortnight.Text,
//U_Fortnight_hrs = txt_number_hours_fortnight.Text,
//U_Weeks_in_month = cb_avg_weeks_month.Text,
//U_No_of_Fortnights = cb_avg_fortnights_month.Text,
U_Starting_period = Convert.ToDateTime(dateTimePicker1.Text),
U_Ending_period = Convert.ToDateTime(dateTimePicker2.Text)
//U_Comments = txt_comments.Text
};
// Save record
employerPeriodService.AddEmployerPeriod(employerPeriodAdd);
MessageBox.Show("Employer Payroll Period Added Successfully. Intake Ref: " + newCode.ToString(), "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
catch (RulesException ex)
{
MessageBox.Show(ex.GetErrorMessages(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的数据库所在的Microsoft SQL Server中,U_Tax_year定义为smallint.我该怎么做才能解决这个错误.我将从组合框'cb_tax_year.Text'获得的内容转换为int,以及如何实现此目的.
任何帮助赞赏.
我怀疑它就像改变这个一样简单:
U_Tax_year = int.Parse(cb_tax_year.Text),
Run Code Online (Sandbox Code Playgroud)
对此:
U_Tax_year = short.Parse(cb_tax_year.Text),
Run Code Online (Sandbox Code Playgroud)
基本上,您应该检查U_Tax_year属性的类型,并确保正确解析文本,以便=符号的RHS结果与属性类型分配兼容.
| 归档时间: |
|
| 查看次数: |
2225 次 |
| 最近记录: |