سلام.
شما به جای خط 34 از:
SqlDataAdapter da = new SqlDataAdapter("Select username From userTBL Where username= N'" + TextBox1.Text+"'", strcon);
استفاده کنید.
و نوع فیلدهاتون رو از جنس یونیکد بگیرید تا اطلاعات فارسی شما به صورت علامت سوال ذخیره نشه، بهتره که قبل از مقادیر ارسالی به جدول یک N بزرگ قرار بدین(برای سازگاری با یونیکد)
مثلا برای ثبت اطلاعات:
به جای
SqlCommand com = new SqlCommand("insert into userTBL (username,password,email) values ('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "')", con);
از
SqlCommand com = new SqlCommand("insert into userTBL (username,password,email) values (N'" + TextBox1.Text + "',N'" + TextBox2.Text + "',N'" + TextBox3.Text + "')", con);
استفاده کنید
و اگر مقدار فیلد پسورد شما عدد صحیح بود نیازی به تک کتیشن نیست.
و یه نکته هم اینکه شما در خط 34 مقدار تکست باکس4 رو ذخیره کردید احیانا نمیخواستید مقدار تکست باکس3 رو ذخیره کنید