Member 13153537 Ответов: 0

Как автоматически сгенерировать номер чековой книжки и 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 и продолжаете.

0 Ответов