Skip to main content

How to use transaction in sqlbulk in asp.net

There are many situation where you need to use transactions in order to avoid incorrect updation or half updation in the database.SO we use transaction that either all data updated or nothing will effect.
Here is the code :

 SqlTransaction trans;
        if (con.State == ConnectionState.Closed)
            con.Open();
        trans = con.BeginTransaction();
        try
        {
            DataTable dtCourses = new DataTable();
            dtCourses.Columns.Add(new DataColumn("RegistrationNumber", typeof(long)));
            dtCourses.Columns.Add(new DataColumn("CurrentTerm", typeof(string)));
            dtCourses.Columns.Add(new DataColumn("RegistrationForTerm", typeof(string)));
            dtCourses.Columns.Add(new DataColumn("RegistrationStatus", typeof(string)));
            dtCourses.Columns.Add(new DataColumn("AmountPaid", typeof(int)));
            dtCourses.Columns.Add(new DataColumn("DDNumber", typeof(string)));
            dtCourses.Columns.Add(new DataColumn("DDAmount", typeof(string)));
            dtCourses.Columns.Add(new DataColumn("DDDate", typeof(DateTime)));
            dtCourses.Columns.Add(new DataColumn("BankName", typeof(string)));
            dtCourses.Columns.Add(new DataColumn("Remarks", typeof(string)));
            dtCourses.Columns.Add(new DataColumn("EntryBy", typeof(string)));
            dtCourses.Columns.Add(new DataColumn("EntryDateTime", typeof(string)));
            foreach (GridDataItem item in RadGrid1.MasterTableView.Items)
            {
                if ((item.FindControl("RegistrationStatusLabel") as Label).Text == "" && (item.FindControl("RadioButtonList1") as RadioButtonList).SelectedIndex != -1)
                {
                    DataRow dr = dtCourses.NewRow();
                    dr["RegistrationNumber"] = (item.FindControl("RegisterationNumberLabel") as Label).Text;
                    dr["CurrentTerm"] = (item.FindControl("CurrentTermLabel") as Label).Text;
                    dr["RegistrationForTerm"] = (item.FindControl("RegistrationForTermLabel") as Label).Text;
                    dr["RegistrationStatus"] = (item.FindControl("RadioButtonList1") as RadioButtonList).SelectedValue.ToString();
                    if ((item.FindControl("RadioButtonList1") as RadioButtonList).SelectedValue.ToString() != "Skip")
                        dr["AmountPaid"] = (item.FindControl("txtamount") as TextBox).Text;
                    else
                        dr["AmountPaid"] = 0;
                    if ((item.FindControl("RadioButtonList1") as RadioButtonList).SelectedValue.ToString() != "Skip")
                        dr["DDAmount"] = (item.FindControl("txtddamount") as TextBox).Text;
                    else
                        dr["DDAmount"] = 0;
                    dr["DDNumber"] = (item.FindControl("txtddnumber") as TextBox).Text;
                    if ((item.FindControl("RadioButtonList1") as RadioButtonList).SelectedValue.ToString() != "Skip")
                        dr["DDDate"] = (item.FindControl("rdpdddate") as RadDatePicker).SelectedDate.Value;
                    else
                        dr["DDDate"] = DBNull.Value;
                    if ((item.FindControl("RadioButtonList1") as RadioButtonList).SelectedValue.ToString() != "Skip")
                        dr["BankName"] = (item.FindControl("txtbankname") as DropDownList).SelectedItem.ToString();
                    else
                        dr["BankName"] = DBNull.Value;
                    if ((item.FindControl("RadioButtonList1") as RadioButtonList).SelectedValue.ToString() != "Skip")
                        dr["Remarks"] = (item.FindControl("txtremarks") as TextBox).Text;
                    else
                        dr["BankName"] = DBNull.Value;
                    dr["EntryBy"] = HiddenFieldLoginName.Value.ToString();
                    dr["EntryDateTime"] = DateTime.Now.ToString();
                    dtCourses.Rows.Add(dr);
                }
            }
            SqlBulkCopy SaveData = new SqlBulkCopy(con, SqlBulkCopyOptions.CheckConstraints | SqlBulkCopyOptions.FireTriggers, trans);
            SaveData.ColumnMappings.Add("RegistrationNumber", "RegistrationNumber");
            SaveData.ColumnMappings.Add("CurrentTerm", "CurrentTerm");
            SaveData.ColumnMappings.Add("RegistrationForTerm", "RegistrationForTerm");
            SaveData.ColumnMappings.Add("RegistrationStatus", "RegistrationStatus");
            SaveData.ColumnMappings.Add("AmountPaid", "AmountPaid");
            SaveData.ColumnMappings.Add("DDNumber", "DDNumber");
            SaveData.ColumnMappings.Add("DDAmount", "DDAmount");
            SaveData.ColumnMappings.Add("DDDate", "DDDate");
            SaveData.ColumnMappings.Add("BankName", "BankName");
            SaveData.ColumnMappings.Add("Remarks", "Remarks");
            SaveData.ColumnMappings.Add("EntryBy", "EntryBy");
            SaveData.ColumnMappings.Add("EntryDateTime", "EntryDateTime");
            SaveData.DestinationTableName = "OdlStudentReRegistration";
            SaveData.WriteToServer("YOUR TABLE NAME");
            trans.Commit();
            dtCourses.Clear();
            DisplayAJAXMessage(this, "Submitted Successfuly ");

Comments

Popular posts from this blog

Export Doc,Access,Image,CSV,Excel,Pdf,XML,HTML,Text,Print of Gridview in Asp.net

First import itextsharp.dll in the solution and use three namespces (basically for pdf) using iTextSharp.text; using iTextSharp.text.pdf; using iTextSharp.text.html.simpleparser;          Then Use the following code :- on each button  click  protected void Page_Load(object sender, EventArgs e)         {             if (!Page.IsPostBack)             {                 BindGridDetails(GridView1);             }         }                 protected DataTable BindGridDetails(GridView GridView1)         {             DataTable dt = new DataTable();             dt.Columns.Add("Student_ID", typeof(Int32));             dt.Columns.Add("Student_Name", typeof(string));             dt.Columns.Add("Education", typeof(string));             dt.Columns.Add("City", typeof(string));             DataRow dtrow = dt.NewRow();             dtrow["Student_ID"] = 1;             dtrow["Student_Name"] = "Musakkhir";   

Ip Sec Internet Security Basic Structure

The IPsec suite is an  open standard . IPsec uses the following  protocols  to perform various functions: Authentication Headers (AH)  provide connectionless  integrity  and data origin  authentication  for IP  datagrams  and provides protection against  replay attacks . Encapsulating Security Payloads (ESP)  provide  confidentiality , data-origin  authentication , connectionless  integrity , an anti-replay service (a form of partial sequence integrity), and limited traffic-flow confidentiality. Security Associations (SA)  provide the bundle of algorithms and data that provide the parameters necessary to AH and/or ESP operations. The  Internet Security Association and Key Management Protocol  (ISAKMP) provides a framework for authentication and key exchange, with actual authenticated keying material provided either by manual configuration with pre-shared keys,  Internet Key Exchange  (IKE and IKEv2),  Kerberized Internet Negotiation of Keys  (KINK), or IPSECKEY  DNS records .

Advent of code 2022 day 22 part 1

  function main(input, input1) {     let grid = input.split( '\n' );     grid.shift();     // only in big input     for ( let i = 0 ; i < 100 ; i++) {         grid[i] = '                                                  ' + grid[i];     }     //console.log(grid[100])     grid = grid.map(x => x.split( '' ))     // find first left top allowed     let temppos = - 1 ;     grid[ 0 ].forEach((element, i) => {         if (temppos == - 1 && element == '.' ) {             temppos = i;         }     });     let initpos = new pos(temppos, 0 )     // console.log(initpos)     // make grid equal shape     let maxlength = 0 ;     grid.forEach(el => {         if (el.length > maxlength) {             maxlength = el.length         }     })     console.log(maxlength)     grid.forEach(el => {         if (el.length < maxlength) {             let diff = maxlength - el.length;             while (diff > 0 ) {                 di