المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : unable to insert data



C# Programming
07-05-2013, 02:45 PM
HI ,

even after inserting different patient id on windows form and when clicked save button.I am getting an Error :An unhandled exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll Additional information: Violation of PRIMARY KEY constraint 'pk_patienid'. Cannot insert duplicate key in object 'dbo.patient'.The statement has been terminated. even after inserting different patient id on windows form and when clicked save button.
my code is :
private void button1_Click(object sender, EventArgs e)
{
resetLabels();


using (SqlConnection cn = new SqlConnection())
{
cn.ConnectionString = @"Data Source=.\SQLEXPRESS;AttachDbFilename=Q:\Dotnet\dental1\dental1\patientdb.mdf;Integrated Security=True;User Instance=True";
cn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cn;
cmd.CommandText = "select convert(varchar(50),getdate(),105) as date";
SqlDataReader sdr = cmd.ExecuteReader();

while (sdr.Read())
{
date = sdr["date"].ToString();
}
sdr.Close();
setPatientidtxt();
if (updateflag)
{
cmd.CommandText = "update Patient set" +
" name=@FirstName,surname=@LastName,age=@Age,city=@City,gender=@Gender,allergy=@Allergy,phoneno=@Conta ctNo,consultingfees=@Fees,note=@Note,date=@Date,time=@Time" +
" where patientid=@Patientid";
cmd.Parameters.AddWithValue("@Patientid", Convert.ToInt64(textBox1.Text));
}
else
{
cmd.CommandText = "insert into patient (patientid,name,surname,age,city,gender,allergy,phoneno,consultingfees,note,date,time) values" +
"(@patientid,@FirstName,@LastName,@Age,@City,@Gender,@Allergy,@ContactNo,@Fees,@Note,@Date,@Time)";
}
cmd.Parameters.AddWithValue("@patientid", textBox1.Text);
cmd.Parameters.AddWithValue("@FirstName", textBox2.Text);
cmd.Parameters.AddWithValue("@LastName", textBox3.Text);
cmd.Parameters.AddWithValue("@Age", textBox4.Text);
cmd.Parameters.AddWithValue("@City", textBox5.Text);
//radio button



if (radioButton1.Checked == true)
{
cmd.Parameters.AddWithValue("@Gender", radioButton1.Text);
}
else
{
cmd.Parameters.AddWithValue("@Gender", radioButton2.Text);
}
if (radioButton3.Checked == true)
{
cmd.Parameters.AddWithValue("@Allergy", radioButton3.Text);
}
else
{
cmd.Parameters.AddWithValue("@Allergy", radioButton4.Text);

}

cmd.Parameters.AddWithValue("@ContactNo", textBox6.Text);
cmd.Parameters.AddWithValue("@Fees", textBox7.Text);
cmd.Parameters.AddWithValue("@Note", textBox8.Text);
cmd.Parameters.AddWithValue("@Date", System.DateTime.Now.ToShortDateString());
cmd.Parameters.AddWithValue("@Time", System.DateTime.Now.ToLongTimeString());
cmd.ExecuteNonQuery();

button4.Enabled = true;
label11.Visible = true;
label4.Visible = true;

timer1.Start();


}

}

only first time data is saved in database: and ome colums as 0
patientid name surname age city gender allergy phone no consultationfes date time0 0 Male No 0 0 07-05-2013 00:23:06NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL