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"; // addressSQLcmd.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;
System.Data.SqlClient.SqlException System error
Maher K. Al-Jendasi
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
SoccerDude
linuxfreak
hello,
if no solution.. then any other smarter way to append to SQL Express 2005
thanks..
MichelG
i am using SQL server 2005 express which doesn't come with Profiler.