Как автоматически сгенерировать номер чековой книжки и cheueno и показать в соответствующих текстовых полях, когда я выбираю банкноту в приложении C# windows
У меня есть форма в этом bankname, accountno,accounttype, checkno и checkbookno.Что я хочу, так это если я выберу combobox имени банка accontno,accounttype и chequeno,checkbookno должен быть заполнен, как это сделать.
В таблицу bankcheques я вставлю chequestartno, noofleaves и chequeendno.После того, как я использую все чеки, я обновлю статус. Я вставлю новую строку.
Что я хочу, так это при использовании chqleaves первой строки показать chequebookno 1.
После того, как totalnoofleaves будет завершен с помощью и другой строки вставки в chequetable и обновления статуса firstrow.Я хочу показать checkbookno 2. Как это сделать, пожалуйста, помогите мне в этом.Я попробовал.Но я не понимаю, как увеличить чековую книжку.И покажите сообщение для заполненных чеков.
заранее спасибо.
Что я уже пробовал:
int id; int chequeno; int chqlvscount; int chqendno; int lastchequeno; int totalckbno; int ckbno; private void FillCheckNo() { SqlConnection con = new SqlConnection(connectionString); con.Open(); SqlCommand cmd = new SqlCommand("SELECT [bank_Id],[bank_Chqstartno],[bank_Chqlvscount],[bank_Chqendno] FROM [ChequeManager].[dbo].[bankcheques] where bank_Id=@bankid and bank_Stat=0", con); cmd.Parameters.AddWithValue("@bankid", cmbBankname.SelectedValue.ToString()); SqlCommand cmd1 = new SqlCommand("SELECT top 1 [id],[bank_Id],[ChequeNo] FROM [ChequeManager].[dbo].[Cheques] where bank_Id=@bankid order by id desc", con); cmd1.Parameters.AddWithValue("@bankid", cmbBankname.SelectedValue.ToString()); SqlDataAdapter sd = new SqlDataAdapter(cmd1); DataTable dt1 = new DataTable(); sd.Fill(dt1); SqlDataAdapter sda = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); sda.Fill(dt); if (dt.Rows.Count > 0) { DataRow row = dt.Rows[0]; id = Convert.ToInt32(row["bank_Id"].ToString()); chequeno = Convert.ToInt32(row["bank_Chqstartno"].ToString()); chqlvscount = Convert.ToInt32(row["bank_Chqlvscount"].ToString()); chqendno = Convert.ToInt32(row["bank_Chqendno"].ToString()); if (dt1.Rows.Count > 0) { DataRow row1 = dt1.Rows[0]; lastchequeno = Convert.ToInt32(row1["ChequeNo"].ToString()); } if (lastchequeno == null || lastchequeno == 0) { lastchequeno = Convert.ToInt32(row["bank_Chqstartno"].ToString()); txtcheckno.Text = Convert.ToString(lastchequeno); } else if (chqendno >= lastchequeno) { txtcheckno.Text = Convert.ToString(lastchequeno + 1); lastchequeno = lastchequeno + 1; if (lastchequeno > chqendno) { txtcheckno.Text = ""; //txtcheckno.Text = Convert.ToString(lastchequeno); } } con.Close(); } } private void FillChequeBookNo() { SqlConnection con = new SqlConnection(connectionString); con.Open(); SqlCommand cmd = new SqlCommand("SELECT [bank_Id],chqs_Chequebookno,count([chqs_Chequebookno]) as totalcheques FROM [ChequeManager].[dbo].[chequedetails] where bank_Id=@bankid group by bank_Id,chqs_Chequebookno", con); cmd.Parameters.AddWithValue("@bankid", cmbBankname.SelectedValue.ToString()); SqlDataAdapter sd = new SqlDataAdapter(cmd); DataTable dt = new DataTable(); sd.Fill(dt); if (dt.Rows.Count > 0) { DataRow dr = dt.Rows[0]; totalckbno = Convert.ToInt32(dr["totalcheques"].ToString()); ckbno = Convert.ToInt32(dr["chqs_Chequebookno"].ToString()); txtckbno.Text = Convert.ToString(ckbno); } if (chqlvscount == totalckbno) { txtckbno.Text =Convert.ToString(ckbno); // totalckbno = totalckbno + 1; } if(totalckbno>chqlvscount) { txtckbno.Text=Convert.ToString(ckbno + 1); } else if (chqlvscount > totalckbno) { txtckbno.Text = Convert.ToString(ckbno); } }
Richard MacCutchan
Вам нужна таблица в базе данных, содержащая эти значения, связанные с каждым банковским счетом. При изменении выбранного банковского счета вы загружаете новые значения из базы данных в свои элементы управления.
Member 13153537
Я так и сделал.Пожалуйста, проверьте мой код один раз.заранее спасибо.
Richard MacCutchan
К сожалению, это не служба проверки кода, это ваша работа. Если у вас есть конкретная проблема, пожалуйста, напишите подробности, и люди постараются вам помочь.
Member 13153537
Моя проблема заключается в моем примере счет, указанный в разделе таблицы, банк ВОО я вставить запись, как бы chequestartno,noofleaves,chequeendno и статус.
Я использовал чеки типа startno to endno, показанные в чековой книжке, и чековая книжка no is 1 Для после завершения totalcheques.Если я использовал total cheques и обновил статус и вставил другую запись в таблицу, я хочу показать чековую книжку № 2.Как это сделать.пожалуйста, помогите мне.заранее спасибо.
Richard MacCutchan
Подумайте о том, что вы пытаетесь сделать. Каждая чековая книжка начинается с определенного числа и содержит другое определенное число чеков. Итак, первая книга начинается, например, с 1 до 30, и когда используется номер страницы 30, вы устанавливаете начальный номер на конечный номер плюс 1 и продолжаете.