อยากถามเกี่ยวกับการ add ข้อมูลจาก form ลง 2 ตารางใน database พร้อมกันอะคับ (ตอนนี้สามารถดึงข้อมูล 2 ตารางมาแสดงได้แล้วคับ)
Linq C#
DataContext db = new DataContext("connection string..........");
TableTest1 test1 = new TableTest1();
test1.Name = "อิอิ";
db.TableTest1.InsertOnSubmit(test1);
TableTest2 test2 = new TableTest2();
test2.Name = "อิอิๆๆๆๆๆๆ";
db.TableTest2.InsertOnSubmit(test2);
db.SubmitChange();
Date :
2012-07-05 16:42:52
By :
อิอิ
อันนี้เพิ่มข้อมูลแค่ตารางเดียวนะคับ
Code (C#)
//เพิ่มข้อมูล
private void adddata()
{
if (textBox1.Text == "")
{
MessageBox.Show("กรุณาป้อนรหัสพนักงาน !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox1.Focus();
}
else if (textBox2.Text == "")
{
MessageBox.Show("กรุณาป้อนชื่อพนักงาน !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox2.Focus();
}
else if (textBox3.Text == "")
{
MessageBox.Show("กรุณาป้อนเบอร์โทร !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox3.Focus();
}
else if (textBox4.Text == "")
{
MessageBox.Show("กรุณาป้อนเงินเดือน !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox4.Focus();
}
else
{
DataTable dt = new DataTable();
SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM personal ", con);
da.Fill(dt);
DataRow r = dt.NewRow();
r[0] = textBox1.Text;
r[1] = textBox2.Text;
r[2] = textBox3.Text;
r[3] = textBox4.Text;
try
{
dt.Rows.Add(r);
SqlCommandBuilder cb = new SqlCommandBuilder(da);
da.Update(dt);
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
textBox6.Text = "";
textBox1.Focus();
}
catch (Exception error)
{
MessageBox.Show("รหัสพนักงานซ้ำ !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
con.Open();
con.Close();
}
}
}
ประวัติการแก้ไข 2012-07-06 16:53:31 2012-07-06 16:55:42
Date :
2012-07-05 16:44:51
By :
pomcoe
อันนี้เป็นภาพตัวอย่างนะคับ
ก้อคือที่เบอร์โทรจะเป็นตารางที่ 2
ส่วนอันอื่นจะเป็นตารางที่ 1 นะคับ
คืออยากให้เมื่อกด Add แล้วให้ข้อมูลไปเก็บใน 2 ตารางอะคับ
ประวัติการแก้ไข 2012-07-06 16:37:55
Date :
2012-07-05 16:51:47
By :
pomcoe
ใครพอมีประสบการณ์
ช่วยตอบหน่อยนะคับ
ขอบคุณมากคับ
Date :
2012-07-05 18:27:57
By :
pomcoe
ก็ทำทุกอย่างเหมือนกับการ insert ลง table personal นั่นแหละค่ะ ทำอีกชุดนึงต่อท้ายโค้ดของ table personal เพียงแต่เปลี่ยนชื่อ table เป็น table เบอร์โทร แล้วกำหนดฟิลด์ให้ตรง คาดว่า table เบอร์โทรของคุณคงมีแค่ รหัสพนักงานเป็น FK แล้วก็เบอร์โทร ก็กำหนดแค่ 2 ฟิลด์ตามนี้ค่ะ
แต่ดูที่คุณทำมามันแปลกๆ ถ้าเป็นชื่อเดียวกันรหัสพนักงานควรจะเป็นรหัสเดียวกัน ส่วนเบอร์โทรถ้าีมีมากกว่า 1 ก็ไป save ลงอีก table นึง แล้วใช้ ID พนักงานเป็น FK
Date :
2012-07-05 20:18:27
By :
bangbang111
ก้อคืออันนี้ผมทำ เพื่อจะลองดูเกี่ยวกับ 2 ตาราง อะคับ
ถ้าเกิดทำอันนี้ได้ ผมก้อจะไปทำงานจิงๆ จะได้ทำได้อะคับ
Date :
2012-07-06 08:37:25
By :
pomcoe
อธิบายไม่เก่ง แถมยังขี้เกียจเขียนโค้ดให้อีก
เอาสั้นๆ ไม่รู้จะเข้าใจเปล่านะ
- ใช้ dataadapter ในการ update อ่ะ จะให้ insert 2 table ก็ส่งเป็น dataset แทน datatable สิ
Date :
2012-07-06 13:20:15
By :
อิอิ
ติดตรงที่เดียวกันเลย
ประวัติการแก้ไข 2012-07-06 14:58:19 2012-07-06 15:25:41
Date :
2012-07-06 14:57:41
By :
dleepper
อันนี้ตาราง 1 คับ
อันนี้ตาราง 2 คับ
ช่วยแก้โค๊ดให้หน่อยนะคับ
ประวัติการแก้ไข 2012-07-06 16:14:12 2012-07-06 16:36:34
Date :
2012-07-06 16:11:12
By :
pomcoe
textBox3 เนี่ย คือเอาไว้ใส่เบอร์โทรใช่มั้ยคับ
แต่เบอร์โทรเก็บไว้ใน personal2 แต่ไม่ได้เก็บไว้ในpersonal
แต่จากโค้ด ผมเห็นแต่ เอาข้อมูลไปเก็บไว้ที่personal อะ
Date :
2012-07-06 16:44:04
By :
bigmon
ใครรู้บ้างคับ
Date :
2012-07-07 11:10:55
By :
pomcoe
เอาแบบบ้านๆ นะ
sqlcommnd com=new sqlcommnd("insert into table1(id)values(@id)",connection);
com.parameter.addwithvalue("id",txtId.text);
เพิ่ม
เพิ่ม
com.exquenonqury();
com.parameter.clear();
// เพิ่มลงตารางที่ 1
com=new sqlcommand("insert into table2(id)values(@id)",connection);
com.parameter.addwithvalue("id",txtId.text);
เพิ่ม
เพิ่ม
com.exquenonqury();
//เพิ่มลงตารางที่ 2
ลอง debug เรื่อยๆ หรือ mesegebox เตือนเอาก็ได้
Date :
2012-07-07 12:01:11
By :
meneger
ตอบความคิดเห็นที่ : 15 เขียนโดย : meneger เมื่อวันที่ 2012-07-07 12:01:11
รายละเอียดของการตอบ ::
แบบนี้มั้ยคับ
Code (C#)
SqlCommand com = new SqlCommand("insert into personal(id,name,salary,address)values(@id,@name,@salary,@address)", con);
com.Parameters.AddWithValue("id", textBox1.Text);
com.Parameters.AddWithValue("name", textBox2.Text);
com.Parameters.AddWithValue("salary ", textBox3.Text);
com.Parameters.AddWithValue("address", textBox4.Text);
com.ExecuteNonQuery();
com.Parameters.Clear();
// เพิ่มลงตารางที่ 1
SqlCommand com2 = new SqlCommand("insert into personal2(phone)values(@phone)", con);
com2.Parameters.AddWithValue("phone", textBox6.Text);
com2.ExecuteNonQuery();
มัน errorคับ
ผมเองไม่รู้เพิ่มถูกมั้ยคับ[/b][/color]
ประวัติการแก้ไข 2012-07-07 13:49:12 2012-07-07 13:57:39 2012-07-07 13:58:31
Date :
2012-07-07 13:47:52
By :
pomcoe
open connection ก่อน insert ค่ะ
Date :
2012-07-07 16:40:34
By :
bangbang111
ได้แล้วคับผม ^^
ขอบคุณสำหรับคำแนะนำของทุกๆท่าน มากมายเลยนะคับ
นี้คือโค๊ดที่แก้ไปคับ
แต่ยังไม่ได้ใส่ Error คับ
Code (C#)
private void adddata()
{
if (textBox1.Text == "")
{
MessageBox.Show("กรุณาป้อนรหัสพนักงาน !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox1.Focus();
}
else if (textBox2.Text == "")
{
MessageBox.Show("กรุณาป้อนชื่อพนักงาน !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox2.Focus();
}
else if (textBox3.Text == "")
{
MessageBox.Show("กรุณาป้อนที่อยู่ !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox3.Focus();
}
else if (textBox4.Text == "")
{
MessageBox.Show("กรุณาป้อนเบอร์โทร !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox4.Focus();
}
else if (textBox6.Text == "")
{
MessageBox.Show("กรุณาป้อนเงินเดือน !!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
textBox6.Focus();
}
else
{
con.Open();
SqlCommand com = new SqlCommand("insert into personal(id,name,salary,address)values(@id,@name,@salary,@address)", con);
com.Parameters.AddWithValue("id", textBox1.Text);
com.Parameters.AddWithValue("name", textBox2.Text);
com.Parameters.AddWithValue("address", textBox3.Text);
com.Parameters.AddWithValue("salary ", textBox6.Text);
com.ExecuteNonQuery();
com.Parameters.Clear();
con.Close();
// เพิ่มลงตารางที่ 1
con.Open();
SqlCommand com2 = new SqlCommand("insert into personal2(id,phone)values(@id,@phone)", con);
com2.Parameters.AddWithValue("id", textBox1.Text);
com2.Parameters.AddWithValue("phone", textBox4.Text);
com2.ExecuteNonQuery();
com2.Parameters.Clear();
con.Close();
}
}
private void button1_Click(object sender, EventArgs e)
{ adddata();
displayrecord(); }
เอามาให้ดูคับ
Date :
2012-07-07 23:10:50
By :
pomcoe
รบกวนแปลงเป็น vb 2010 ให้หน่อยได้ไหมค้าบ ขอบคุณล่วงหน้าค้าบ
Date :
2012-08-30 22:55:18
By :
billspy66
จริงๆแล้วมันไม่ได้มีอะไรยากเลยครับ
แยกเป็น 2 ส่วน แต่ให้มาอยุ่ภายไต้ 1 Button
Date :
2012-08-30 23:22:32
By :
billkyz5
Insert ข้อมูลอีกรอบเพื่อลงอีกตารางนึงครับผม
เขียนคำสั่ง sql อีก 1 คำสั่งเพื่อลงอีก 1 ตาราง
ประวัติการแก้ไข 2012-09-05 19:39:13
Date :
2012-09-05 19:38:34
By :
burapa19056
ขอบคุณ ผมทำได้แล้วค้าบ
Date :
2012-09-06 13:13:24
By :
billspy66
ดีใจด้วยครับ
Date :
2012-09-06 16:26:44
By :
mr.win
รบกวนขอโค้ดที่ ดึงข้อมูล 2 ตารางมาแสดงหน่อยค่ะ
ขอบคุณค่ะ
Date :
2014-01-11 16:15:50
By :
ตังตัง
Load balance : Server 01