从字符串转换日期和/或时间时转换失败

时间:2017-06-17 13:38:14

标签: c# sql sql-server

我正在使用sql server 2012,我的表中有一个DOB列,类型是nvarchar(50),我在更改为nvarchar之前使用了日期数据类型。我使用三个组合框(月,日,年)接受出生日期我附上了代码。请调查并帮助我。感谢

string dob = cmbDate.Text + "/" +cmbMonth.Text + "/"+cmbYear.Text;

query= "Insert into Admissions(
                Admission_date,
                Student_name,
                Father_name,
                Mother_name,
                DOB,
                Gender,
                Address,
                State, 
                City,
                Pincode,
                Admission_for,
                Previous_school,Fees
                )
                values
                ('"+txtAdmDate.Text+"','"+
                txtStudentName.Text +"','"+
                txtFatherName.Text +"','"+
                txtMotherName.Text +"','"+
                dob+"','"+
                gender+"','"+ 
                txtAddress.Text +"','"+
                txtState.Text +"','"+
                txtCity+"','"+
                txtPincode.Text +"','"+
                cmbClass.Text+"','"+
                txtPreviousSchool.Text +"','"+
                txtFees.Text +"')";

        cmd = new SqlCommand(query,con);
        con.Open();
        cmd.ExecuteNonQuery();
        con.Close();

1 个答案:

答案 0 :(得分:0)

使用CreateParameter()方法将参数放入查询中 参数是强类型的,因此您可以避免错误转换的问题。

参考:
CreateParameter
SqlParameter
IDataParameterCollection

var myParam = cmd.CreateParameter();
// Add values, type, direction, etc...
cmd.Parameters.Add(myParam);