System.Data.SqlClient.SqlException System error

why i am getting this error !

An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in system.data.dll

Additional information: System error.

this is the code:

SQLconn = new SqlConnection("Server=KOBNA\\SQLEXPRESS;Database=shefa;User ID=sa;Password=111111;Trusted_Connection=False");

int new_patient_id = 0;

string insertCmd = "insert into persons (PERSON_NAME, ID_TYPE, ID_NUMBER, NATIONALITY, GENDER, DATE_OF_BIRTH, BLOOD_GROUP, COMPANY, PROFESSION, MARITAL_STATUS, OLD_FILE_NO, PERSON_IS_VIP, ADDRESS_FLAT, ADDRESS_BUILDING, ADDRESS_ROAD, ADDRESS_BLOCK, ADDRESS_AREA, ADDRESS_PO_BOX, IS_OUTSIDE_COUNTRY, ADDRESS_OUTSIDE_ADDRESS, ADDRESS_COUNTRY, CONTACT_HOME_CODE, CONTACT_HOME_TEL, CONTACT_MOBILE_CODE, CONTACT_MOBILE, CONTACT_OTHER_CODE, CONTACT_OTHER_TEL, CONTACT_OFFICE_CODE, CONTACT_OFFICE_TEL, CONTACT_OFFICE_EXT, CONTACT_DIRECT_CODE, CONTACT_DIRECT_TEL, CONTACT_HOME_FAX_CODE, CONTACT_HOME_FAX, CONTACT_OFFICE_FAX_CODE, CONTACT_OFFICE_FAX, CONTACT_OTHER_FAX_CODE, CONTACT_OTHER_FAX, EMAIL_OFFICE, EMAIL_PERSONAL) values (@fullname, @idtype, @idnumber, @nationality, @gender, @dateofbirth, @bloodgroup, @company, @profession, @maritalstatus, @oldfileno, @isvip, @address_flat, @address_building, @address_road, @address_block, @address_area, @address_box, @address_is_outside, @address_outside, @address_country, @contact_H_Tcode, @contact_H_Tnum, @contact_M_Tcode, @contact_M_Tnum, @contact_O_Tcode, @contact_O_Tnum, @contact_F_Tcode, @contact_F_Tnum, @contact_F_Text, @contact_D_Tcode, @contact_D_Tnum, @contact_H_Fcode, @contact_H_Fnum, @contact_F_Fcode, @contact_F_Fnum, @contact_O_Fcode, @contact_O_Fnum, @contact_F_Email, @contact_F_Per) set @patient_unique_id = SCOPE_IDENTITY()";

// string insertCmd = "insert into persons (PERSON_NAME, ID_TYPE, ID_NUMBER, NATIONALITY, GENDER, DATE_OF_BIRTH, BLOOD_GROUP, COMPANY, PROFESSION, MARITAL_STATUS, OLD_FILE_NO, PERSON_IS_VIP, ADDRESS_FLAT, ADDRESS_BUILDING, ADDRESS_ROAD, ADDRESS_BLOCK, ADDRESS_AREA, ADDRESS_PO_BOX, IS_OUTSIDE_COUNTRY, ADDRESS_OUTSIDE_ADDRESS, ADDRESS_COUNTRY, CONTACT_HOME_CODE, CONTACT_HOME_TEL, CONTACT_MOBILE_CODE, CONTACT_MOBILE, CONTACT_OTHER_CODE, CONTACT_OTHER_TEL, CONTACT_OFFICE_CODE, CONTACT_OFFICE_TEL, CONTACT_OFFICE_EXT, CONTACT_DIRECT_CODE, CONTACT_DIRECT_TEL, CONTACT_HOME_FAX_CODE, CONTACT_HOME_FAX, CONTACT_OFFICE_FAX_CODE, CONTACT_OFFICE_FAX, CONTACT_OTHER_FAX_CODE, CONTACT_OTHER_FAX, EMAIL_OFFICE, EMAIL_PERSONAL) values (@fullname, @idtype, @idnumber, @nationality, @gender, @dateofbirth, @bloodgroup, @company, @profession, @maritalstatus, @oldfileno, @isvip, @address_flat, @address_building, @address_road, @address_block, @address_area, @address_box, @address_is_outside, @address_outside, @address_country, @contact_H_Tcode, @contact_H_Tnum, @contact_M_Tcode, @contact_M_Tnum, @contact_O_Tcode, @contact_O_Tnum, @contact_F_Tcode, @contact_F_Tnum, @contact_F_Text, @contact_D_Tcode, @contact_D_Tnum, @contact_H_Fcode, @contact_H_Fnum, @contact_F_Fcode, @contact_F_Fnum, @contact_O_Fcode, @contact_O_Fnum, @contact_F_Email, @contact_F_Per)";

SQLcmd.CommandText = insertCmd;

SQLcmd.Connection = SQLconn;

SQLcmd.Parameters.Add("@fullname", SqlDbType.NChar);

SQLcmd.Parameters.Add("@idtype", SqlDbType.NChar);

SQLcmd.Parameters.Add("@idnumber", SqlDbType.NChar);

SQLcmd.Parameters.Add("@nationality", SqlDbType.NChar);

SQLcmd.Parameters.Add("@gender", SqlDbType.NChar);

SQLcmd.Parameters.Add("@dateofbirth", SqlDbType.DateTime);

SQLcmd.Parameters.Add("@bloodgroup", SqlDbType.NChar);

SQLcmd.Parameters.Add("@company", SqlDbType.NChar);

SQLcmd.Parameters.Add("@profession", SqlDbType.NChar);

SQLcmd.Parameters.Add("@maritalstatus", SqlDbType.NChar);

SQLcmd.Parameters.Add("@oldfileno", SqlDbType.NChar);

SQLcmd.Parameters.Add("@isvip", SqlDbType.NChar);

SQLcmd.Parameters.Add("@address_flat", SqlDbType.NChar);

SQLcmd.Parameters.Add("@address_building", SqlDbType.NChar);

SQLcmd.Parameters.Add("@address_road", SqlDbType.NChar);

SQLcmd.Parameters.Add("@address_block", SqlDbType.NChar);

SQLcmd.Parameters.Add("@address_area", SqlDbType.NChar);

SQLcmd.Parameters.Add("@address_box", SqlDbType.NChar);

SQLcmd.Parameters.Add("@address_is_outside", SqlDbType.NChar);

SQLcmd.Parameters.Add("@address_outside", SqlDbType.NText);

SQLcmd.Parameters.Add("@address_country", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_H_Tcode", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_H_Tnum", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_M_Tcode", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_M_Tnum", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_O_Tcode", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_O_Tnum", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_F_Tcode", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_F_Tnum", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_F_Text", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_D_Tcode", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_D_Tnum", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_H_Fcode", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_H_Fnum", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_F_Fcode", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_F_Fnum", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_O_Fcode", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_O_Fnum", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_F_Email", SqlDbType.NChar);

SQLcmd.Parameters.Add("@contact_F_Per", SqlDbType.NChar);

// patient_unique_id;

SQLcmd.Parameters.Add("@patient_unique_id", SqlDbType.Int);

// basic info

if (txtFullName.Text == "") SQLcmd.Parameters["@fullname"].Value = null; else SQLcmd.Parameters["@fullname"].Value = txtFullName.Text;

SQLcmd.Parameters["@idtype"].Value = cboIDType.Text;

SQLcmd.Parameters["@idnumber"].Value = txtIDNumber.Text;

SQLcmd.Parameters["@nationality"].Value = cboNationality.Text;

SQLcmd.Parameters["@gender"].Value = cboGender.Text;

SQLcmd.Parameters["@dateofbirth"].Value = cboBirthday.Value;

SQLcmd.Parameters["@bloodgroup"].Value = cboBlood.Text;

SQLcmd.Parameters["@company"].Value = cboCompany.Text;

SQLcmd.Parameters["@profession"].Value = cboProfession.Text;

SQLcmd.Parameters["@maritalstatus"].Value = cboMaritalStatus.Text;

SQLcmd.Parameters["@oldfileno"].Value = txtOldFileNo.Text;

if (chkVIP.Checked == true) SQLcmd.Parameters["@isvip"].Value = "Y"; else SQLcmd.Parameters["@isvip"].Value = "N";

// address

SQLcmd.Parameters["@address_flat"].Value = txtFlat.Text;

SQLcmd.Parameters["@address_building"].Value = txtBuilding.Text;

SQLcmd.Parameters["@address_road"].Value = txtRoad.Text;

SQLcmd.Parameters["@address_block"].Value = txtBlock.Text;

if (txtArea.Text == "") SQLcmd.Parameters["@address_area"].Value = "AA"; else SQLcmd.Parameters["@address_area"].Value = txtArea.Text;

SQLcmd.Parameters["@address_box"].Value = txtBox.Text;

if (chkOutsideAddress.Checked == true) SQLcmd.Parameters["@address_is_outside"].Value = "Y"; else SQLcmd.Parameters["@address_is_outside"].Value = "N";

if (txtOutsideAddress.Text == "") SQLcmd.Parameters["@address_outside"].Value = "AA"; else SQLcmd.Parameters["@address_outside"].Value = txtOutsideAddress.Text;

if (cboCountry.Text == "") SQLcmd.Parameters["@address_country"].Value = "AA"; else SQLcmd.Parameters["@address_country"].Value = cboCountry.Text;

// contact;

SQLcmd.Parameters["@contact_H_Tcode"].Value = txtHomeTelCode.Text;

SQLcmd.Parameters["@contact_H_Tnum"].Value = txtHomeTel.Text;

SQLcmd.Parameters["@contact_M_Tcode"].Value = txtMobileCode.Text;

SQLcmd.Parameters["@contact_M_Tnum"].Value = txtMobile.Text;

SQLcmd.Parameters["@contact_O_Tcode"].Value = txtOtherTelCode.Text;

SQLcmd.Parameters["@contact_O_Tnum"].Value = txtOtherTel.Text;

SQLcmd.Parameters["@contact_F_Tcode"].Value = txtOfficeTelCode.Text;

SQLcmd.Parameters["@contact_F_Tnum"].Value = txtOfficeTel.Text;

SQLcmd.Parameters["@contact_F_Text"].Value = txtExtension.Text;

SQLcmd.Parameters["@contact_D_Tcode"].Value = txtDirectTelCode.Text;

SQLcmd.Parameters["@contact_D_Tnum"].Value = txtDirectTel.Text;

// fax;

SQLcmd.Parameters["@contact_H_Fcode"].Value = txtHomeFaxCode.Text;

SQLcmd.Parameters["@contact_H_Fnum"].Value = txtHomeFax.Text;

SQLcmd.Parameters["@contact_F_Fcode"].Value = txtOfficeFaxCode.Text;

SQLcmd.Parameters["@contact_F_Fnum"].Value = txtOfficeFax.Text;

SQLcmd.Parameters["@contact_O_Fcode"].Value = txtOtherFaxCode.Text;

SQLcmd.Parameters["@contact_O_Fnum"].Value = txtOtherFax.Text;

SQLcmd.Parameters["@contact_F_Email"].Value = txtOfficeEmail.Text;

SQLcmd.Parameters["@contact_F_Per"].Value = txtPersonalEmail.Text;

// patient_unique_id;

SqlParameter patientIDParameter = new SqlParameter("@patient_unique_id", SqlDbType.Int);

patientIDParameter.Direction = ParameterDirection.Output;

SQLcmd.Parameters.Add(patientIDParameter);

SQLcmd.Connection.Open();

SQLcmd.ExecuteNonQuery();

new_patient_id = (int)patientIDParameter.Value;




Answer this question

System.Data.SqlClient.SqlException System error

  • Ahmed Mostafa

    Hello Jassim,

    I don't know why you are getting this error message, but I thought I could suggest a couple of things that you might try to help diagnose the issue yourself.

    Launch the SQL Profiler and see if the query appears in the trace, and check the generated query matches your expectation. If it does copy the generated query and run it in SQL Query Analyzer against the correct database, it may give you a more helpful error message.

    You could also add a try/catch around your code here, and see if there is any furthur information in the stack trace.

    Hope this helps,

    Phil

    P.S. Your table is an interesting design, all fields are of type NChar


  • craigo

    i am using SQL server 2005 express which doesn't come with Profiler.



  • Glate

    Please, provide use the Strack-Trace and exception message first. We can do anything with the information you provide at this moment.


  • Moonlight Sonate in C#

    hello,

    if no solution.. then any other smarter way to append to SQL Express 2005

    thanks..



  • System.Data.SqlClient.SqlException System error