Sie sind auf Seite 1von 4

using using using using using using using using using using

System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; System.Data.SqlClient; System.Configuration;

namespace CustAccount { public partial class Form1 : Form { public static SqlConnection con; public Form1() { InitializeComponent(); con = new SqlConnection(ConfigurationManager.ConnectionStrings["Invcon" ].ConnectionString); } private void comAccNum_SelectedIndexChanged(object sender, EventArgs e) { } public static int GenerateId() { SqlCommand cmd = new SqlCommand("select max(Tid) from Transaction2", con); DataTable dt = new DataTable(); try { con.Open(); object data = cmd.ExecuteScalar(); try { return int.Parse(data.ToString()) + 1; } catch (FormatException ex) { return 1; } } catch (SqlException ex) { throw ex; }

finally { if (con.State != System.Data.ConnectionState.Closed) { con.Close(); } } }

private void Form1_Load(object sender, EventArgs e) { SqlCommand cmd = new SqlCommand("select AccountNo from Account", con ); SqlDataReader dr; GenerateId(); txtTid.Text=(GenerateId().ToString()); try { con.Open(); dr=cmd.ExecuteReader(); if (dr.HasRows) { while (dr.Read()) { comAccNum.Items.Add(dr.GetInt32(0).ToString()); } } } catch (SqlException ex) { throw ex; } finally { if (con.State != System.Data.ConnectionState.Closed) { con.Close(); } } } private void button1_Click(object sender, EventArgs e) { con = new SqlConnection(ConfigurationManager.ConnectionStrings["Invcon "].ConnectionString); SqlConnection con1 = new SqlConnection(ConfigurationManager.Connection Strings["Invcon"].ConnectionString); SqlCommand selectcmd=new SqlCommand("select Balance from Account where AccountNo=@acno",con1); selectcmd.Parameters.Add(new SqlParameter("@acno",comAccNum.Text)); SqlCommand inscrcmd = new SqlCommand("insert into Transaction2 values

(@Tid,@Date,@Type,@Tamount,@AccountNo,@rbal)", con); inscrcmd.Parameters.Add(new SqlParameter("@Tid",txtTid.Text )); inscrcmd.Parameters.Add(new SqlParameter("@Date",DateTime.Now)); inscrcmd.Parameters.Add(new SqlParameter("@Type",comTtype.Text)); inscrcmd.Parameters.Add(new SqlParameter("@Tamount",txtAmt.Text)); inscrcmd.Parameters.Add(new SqlParameter("@AccountNo", comAccNum.Text )); SqlCommand updtcmd = new SqlCommand("update Account set Balance=@newb alance where AccountNo=@acno", con); SqlDataReader dr; try { con1.Open(); con.Open(); dr = selectcmd.ExecuteReader(); if (dr.HasRows) { dr.Read(); decimal bal = dr.GetDecimal(0); SqlTransaction tr = con.BeginTransaction(); inscrcmd.Transaction = tr; updtcmd.Transaction = tr; if (decimal.Parse(txtAmt.Text) <= (bal - 1000)) { try { if (comTtype.Text == comTtype.Items[0].ToString()) { inscrcmd.Parameters.Add(new SqlParameter("@rbal", bal - decimal.Parse(txtAmt.Text))); updtcmd.Parameters.Add(new SqlParameter("@newbala nce", bal - decimal.Parse(txtAmt.Text))); updtcmd.Parameters.Add(new SqlParameter("@acno", comAccNum.Text)); inscrcmd.ExecuteNonQuery(); updtcmd.ExecuteNonQuery(); MessageBox.Show("Transaction Successful"); } else { inscrcmd.Parameters.Add(new SqlParameter("@rbal", bal + decimal.Parse(txtAmt.Text))); updtcmd.Parameters.Add(new SqlParameter("@newbala nce", bal + decimal.Parse(txtAmt.Text))); updtcmd.Parameters.Add(new SqlParameter("@acno", comAccNum.Text)); inscrcmd.ExecuteNonQuery(); updtcmd.ExecuteNonQuery(); MessageBox.Show("Transaction Successful"); } tr.Commit();

} catch (SqlException ex) { tr.Rollback(); } } else { tr.Rollback(); } } else { } } catch (SqlException s) { throw s; } finally { if (con.State != System.Data.ConnectionState.Closed) { con.Close(); } }

} private void button2_Click(object sender, EventArgs e) { this.Close(); }

} }

Das könnte Ihnen auch gefallen