簡體   English   中英

將字符串解析為DateTime時,先解析字符串取數據,然后再將每個變量放入DateTime對象

[英]When parsing a string in to DateTime, parse the string to take data before putting each variable into the DateTime Object

我已經檢查了與此錯誤相關的所有答案,但無法解決。 我有一張錄取通知書。 它們是DateOfAdmissionPhoneNumber **、**TimeOfAdmission等字段。 當我嘗試從表單中檢索值並轉換它們時。 然后嘗試將它們插入 SQL Server 數據庫中。 應用程序中斷說...

'System.FormatException' 將字符串解析為 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);       

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM