Итак, я пытаюсь взять данные из базы данных (Patientid в формате pXX), и когда я добавляю нового пациента в базу данных через веб-сайт, он автоматически находит максимальный идентификатор пациента, а затем добавляет к нему 1. Таким образом, если максимальный идентификатор пациента равен p12, новый пациент получает значение p13.
То, что я до сих пор делал, это; изолировать два числа в строке (используя метод подстроки), преобразовать их в целое число, найти максимальное число, преобразовать обратно в строку, проверить, если длина строки меньше 2, добавить к ней 1 ноль, а затем я добавил стр. Это мой код;
public void patientInsert()
{
hospitalSQLEntities db = new hospitalSQLEntities();
int newid = 0;
string mynumberstring = "patientid".Substring(1, 2);
int patientid1 = Convert.ToInt32(mynumberstring);
string p = "p";
if (db.patients.Count() == 0)
newid = 1;
else
newid = db.patients.Max(u => patientid1) + 1;
newid = Convert.ToString(newid);
newid = newid < 2, + "0";
newid = (p + patientid1);
patient newpatient = new patient();
newpatient.patientid = Convert.ToString(Request.Params["newid"]);
newpatient.doctorno = Convert.ToInt16(Request.Params["doctorno"]);
newpatient.wardno = Request.Params["wardno"];
newpatient.patientname = Request.Params["patientname"];
newpatient.address = Request.Params["address"];
newpatient.gender = Request.Params["gender"];
newpatient.bloodtype = Request.Params["bloodtype"];
newpatient.spam = Convert.ToBoolean(Request.Params["spam"]);
newpatient.organs = Convert.ToBoolean(Request.Params["organs"]);
db.AddTopatients(newpatient);
db.SaveChanges();
}
Я правильно делаю? Я знаю, что отключаюсь при преобразовании из int в строку и снова при добавлении 0 и p, но я просто немного растерялся.
p.s. в первый раз пытаясь программировать, так что будьте спокойны, если это глупая ошибка!