ရိုးရှင်းသော Data Entry တစ်ခုပြုလုပ်ခြင်း (၁)
Data Entry အကြောင်းလေး တစ်ချက် ကြည့်ကြရအောင်။ ASP.NET မှာ Data Entry ပြုလုပ်ရန်အတွက် SQLDataAdapter သို့မဟုတ် SQLCommand ဆိုတဲ့ Data Class တွေကို အများအားဖြင့် သုံးကြပါတယ်။ ဒီဥပမာမှာတော့ SQLCommand ကို သုံးထားတယ်။ SQLDataAdapter နဲ့ရေးပုံကိုတော့ နောက် post မှာ တင်ပြပေးပါ့မယ်။
SQLConnection ကို ခေါ်ပုံနဲ့ ကြေငြာပုံတွေကို Configuring Connection Strings မှာ ကြည့်ပါ။ DataReader အကြောင်း အသေးစိတ်ကို ဒီမှာ လေ့လာ နိုင်ပါတယ်။ ဒီ post မှာတော့ DataEntry မှာသုံးဖို့ုလိုတဲ့ Object နဲ့ function တွေ အကြောင်းကိုပဲ ပြသွားပါ့မယ်။
Save
- SqlConnection Class မှာ Connection တခုကို instantiate လုပ်မယ်။
- ပြီးတော့ Connection ဖွင့်မယ်။
- Insert အတွက် Insert Query ရေးပြီး Update အတွက် သက်ဆိုင်ရာ Query ရေးပါမယ်။ Delete အတွက်လဲသက်ဆိုင်ရာ Query ကိုရေးရုံပါပဲ။
- ပြီးတော့ SqlCommand Class ကို instantiate ပြုလုပ်ပါမယ်။ ခုနကကြေငြာခဲ့တဲ့ Connection နဲ့ Query ကို SQLCommand Constructor မှာ ထည့်ပေးရပါမယ်။
- နောက်ဆုံးအဆင့်နေနဲ့ ထို Command မှတဆင့် ExecuteNonQuery() function ကိုခေါ်ရပါမယ်။ ဒါဆိုရင် သက်ဆိုင်ရာ Insert/Update/Delete တို့ကို ဆောင်ရွက်သွားမှာပါ။
- သတိထားရမဲ့ နောက်တခုကတော့ Connection ကိုပြန်ပိတ်ဖို့ပါဘဲ။ Finally မှာပိတ်ပေးပါမယ်။
ရေးပုံရေးနည်းကို ဒီမှာကြည့်ပါ။
SqlConnection conn = null; ;
SqlCommand command = null;
String sql = null;
try
{
if (hidID.Value == String.Empty)
sql = String.Format("INSERT INTO tblEmployees (LastName,FirstName,Email) Values('{0}','{1}',{2})", txtLastName.Text, txtFirstName.Text, txtEmail.Text);
else
sql = String.Format("UPDATE tblEmployees SET LastName='{0}',FirstName='{1}',Email='{2}' WHERE employeeid='{3}'", txtLastName.Text, txtFirstName.Text, txtEmail.Text, hidID.Value);
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["crmDB"].ConnectionString);
conn.Open();
command = new SqlCommand(sql, conn);
command.ExecuteNonQuery();
lblMsg.Text = "Successfully Inserted!";
}
catch (Exception ex)
{
lblMsg.Text = String.Format("<span style="color: red;">{0}</span>", ex.Message);
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}
Find and Browse
- ကိုယ်ရှာခြင်တဲ့ Value ရှာရန် SQL query ရေးရပါမယ်။
- ပြီးနောက် command မှာ ExecuteNonQuery() အစား ExecuteReader() ကိုခေါ်ပါမယ်။
- အဲဒီ့ Reader မှ SqlDataReader object ကိုပေးပါတယ်။
- အပြအတွက် Reader မှာ record ရှိမရှိသိနိုင်ရန် SqlDataReader object မှ HasRows ဆိုတဲ့ attribute ကိုခေါ်ကြည့်နိုင်ပြီး Record တွေကို Read() method နဲ့ဖတ်ပါမယ်။ Multiple records များအတွက်ဆိုရင်တော့ while loop မှာ Read() ကိုခေါ်သုံးသွားနိုင်ပါတယ်။
- DataTable လိုပဲ Reader object မှာ columns တွေကို နာမည် (သို့) index နံပါတ်နဲ့ခေါ်သုံးလိုက်ရုံပါပဲ။
sql = String.Format("SELECT * FROM tblEmployees");
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["crmDB"].ConnectionString);
conn.Open();
command = new SqlCommand(sql, conn);
SqlDataReader reader = command.ExecuteReader();
if (reader.HasRows)
{
lblTblList.Text = String.Format("
<strong>ID| LastName | FirstName | Email</strong>
");
while (reader.Read())
{
lblTblList.Text += String.Format("{0} | {1} | {2} | {3}
", reader["EmployeeID"].ToString(), reader["LastName"].ToString(), reader["FirstName"].ToString(), reader["Email"].ToString());
}
}
Project တခုလုံးကို အောက်မှ Download လုပ်ယူပါ။ ဒီဥပမာမှာသုံးထားတဲ့ Employee table script ကို Project ရဲ့ Database folder ထဲကနေယူနိုင်ပါတယ်။
Facebook comments:




နောက် အဆင်ပြေမယ်ဆိုရင် .. Table 2 ခုကို Grid Entry or Edit လုပ်တာလေးပြောပြစေချင်ပါတယ် .. ကျေးဇူးတင်ပါတယ်
အိုကေ ကိုညီ။ Multiple Table နဲ့ Grid Computing အတွက် Post တပုဒ်ရေးပေးပါအုံးမယ်။
[...] A Simple Data Entry (1) ကိုရေးအပြီးမှာ multiple table နဲ့ DataGrid မှာ အလုပ်လုပ်ပုံကို ရေးပေးပါရန် ကိုညီညီ မှ request လုပ်ထားပါတယ်။ လက်တွေ့လုပ်ငန်းခွင်တွေမှာ များသောအားဖြင့် multiple tables ကိုအသုံးပြုကြပါတယ်။ ဒါပေမဲ့ ဒီ Post ကို Table တခုထဲနဲ့ပဲ ရှင်းလင်းတင်ပြထားပါသေးတယ်။ Data Entry ကို Table တခုထဲနဲ့အရင် ရှင်းနိုင်တမျှရှင်းလင်းလွယ်ကူအောင် ရေးချင်တာကတကြောင်း၊ DataTable, DateTime နဲ့ DataGrid တို့ကိုဦးစားပေးပြီး ရှင်းလင်းလိုခြင်း နဲ့ ဒီ post ကို ရေးပြီးတာ ၁ လကျော်ပြီဖြစ်တာတွေကြောင့် မပြင်တော့ပဲ ဒီအတိုင်းတင်လိုက်ပါတယ်။ [...]