将字符串解析为 DateTime 时,请在将每个变量放入 DateTime 对象之前分析字符串以获取数据



我已经检查了与此错误相关的所有答案,但我无法解决它。 我有一份入学表格。它们是诸如入学日期电话号码**,**入场时间和其他内容的字段。当我尝试从表单中检索值并转换它们时。然后尝试将它们插入 SQL Server 数据库。应用程序中断说...

"系统格式异常" 将字符串解析为 DateTime 时,请在将每个变量放入 DateTime 对象之前分析字符串以获取数据。

这是我的代码,请查看它并告诉我我哪里出错了。

public partial class AdmissionForm : Window
{
public AdmissionForm()
{
InitializeComponent();
}
private void SubmitFormClick(object sender, RoutedEventArgs e)
{
// Parsing Values
// STIRNG TO INT
int AdmissionNumber = int.Parse(AdmissionNumberTextBox.Text);
int CNIC = int.Parse(CNICTextBox.Text);
int Age = int.Parse(AgeTextBox.Text);
int PhoneNumber = int.Parse(PhoneTextBox.Text);
int MobileNumber = int.Parse(MobileTextBox.Text);
int EmergencyNumber = int.Parse(EmergencyTextBox.Text);
// Converting time 'String' into Byte[]
//string time = DateTime.Now.ToString("hh:mm:tt"); //TimeOfDay.ToString("HH:mm:ss")
byte[] TimeOfAdmission = Encoding.ASCII.GetBytes(DateTime.Now.ToString("hh:mm:tt"));
// Converting date 'String' into DateTime
//string date = DateTime.Now.ToString("dd/MM/yyyy");
DateTime DateOfAdmission = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy"));
// String
var StudentName = StudentNameTextBox.Text;
var FatherName = FatherNameTextBox.Text;
var Qualification = QualificationTextBox.Text;
var Nationality = NationalityTextBox.Text;
var Adress = AdressTextBox.Text;
var Timing = SheduleTime.SelectedValue.ToString();
var ClassLevel = ClassValue.SelectedValue.ToString();
var Reference = ReferenceTextBox.Text;
// DB context Getting Entites and attributes
var context = new AcademyEntities();
// Creating new Model
var Model = new StudentTable();
// Getting and Setting values
// Reading Values
Model.StudentName = StudentName;
Model.FatherName = FatherName;
Model.StudentCNIC = CNIC;
Model.GuardianName = null;
Model.Nationality = Nationality;
Model.Qualification = Qualification;
Model.StudentAge = Age;
Model.AdmissionNumber = AdmissionNumber;
Model.TimeOfAdmission = TimeOfAdmission;
Model.DateOfAdmission = DateOfAdmission;
Model.MobileNumber = MobileNumber;
Model.PhoneNumber = PhoneNumber;
Model.EmergencyNumber = EmergencyNumber;
Model.Adress = Adress;
Model.ClassID = ClassTime(Timing);
Model.CourseLevelID = CourseLevelID(ClassLevel);
Model.Reference = Reference;
context.StudentTables.Add(Model);
context.SaveChanges();
// Class Time Id 
int ClassTime(string Timing)
{
int classId = 1;
if (Timing == "2 to 3 PM")
{
return classId;
}
else if (Timing == "3 to 4 PM")
{
classId = 2;
return classId;
}
else if (Timing == "4 to 5 PM")
{
classId = 3;
return classId;
}
else if (Timing == "5 to 6 PM")
{
classId = 4;
return classId;
}
else if (Timing == "6 to 7 PM")
{
classId = 5;
return classId;
}
return classId;
}
// Course Level Id
int CourseLevelID(string ClassLevel)
{
int courseLevelId = 1;
if (ClassLevel == "Lower Basic")
{
return courseLevelId;
}
else if (ClassLevel == "Basic")
{
courseLevelId = 2;
return courseLevelId;
}
else if (ClassLevel == "Pre Starter")
{
courseLevelId = 3;
return courseLevelId;
}
else if (ClassLevel == "Starter")
{
courseLevelId = 4;
return courseLevelId;
}
else if (ClassLevel == "Intermediate")
{
courseLevelId = 5;
return courseLevelId;
}
else if (ClassLevel == "Advance")
{
courseLevelId = 5;
return courseLevelId;
}
return courseLevelId;
}
}

好吧,我搜索并找到了一种将日期解析为SQL SERVER时间戳的解决方案

string currentTime = DateTime.Now.ToString("hh:mm:tt");                 
byte[] TimeOfAdmission = Encoding.ASCII.GetBytes(currentTime);       

最新更新