Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > .NET Framework > Forum > insert into error แบบนี้อะคับ ควรปรับเปลี่ยนตรงไหนยังไงบ้างคับ



 

insert into error แบบนี้อะคับ ควรปรับเปลี่ยนตรงไหนยังไงบ้างคับ

 



Topic : 046650



โพสกระทู้ ( 292 )
บทความ ( 0 )



สถานะออฟไลน์




ตารางเป็นแบบนี้อะคับ

table



Tag : .NET, Ms Access, VB.NET









ประวัติการแก้ไข
2010-08-06 13:31:27
2010-08-06 19:55:14
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-08-06 13:23:29 By : adunafah View : 1495 Reply : 13
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

มี Spaces หรือเปล่าครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-06 13:25:05 By : webmaster
 


 

No. 2



โพสกระทู้ ( 64 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

ในชื่อของ field Objetive_id เหมือนจะมีเว้นวรรคนะครับ

Objective _id
Objective_id
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-06 13:26:28 By : nprawit
 

 

No. 3



โพสกระทู้ ( 292 )
บทความ ( 0 )



สถานะออฟไลน์


ลบเว้นวรรคแล้วคับ แล้วก็เป็นอย่างนี้

er
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-06 13:32:48 By : adunafah
 


 

No. 4



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


กำหนด length ใน database ไว้น้อยไปหรือเปล่าท่าน เช่น varchar(50) แต่ท่านป้อนค่าไป 500 character อะไรแบบเนี้ย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-06 14:02:15 By : tungman
 


 

No. 5



โพสกระทู้ ( 292 )
บทความ ( 0 )



สถานะออฟไลน์


Code (VB.NET)
 sqlTmp = "INSERT INTO Objective (Objective_id, Objective1, Money1, Objective2, Money2) "
                sqlTmp &= "VALUES('" & txtobject_id.Text & "','" & txtobjective1.Text & "','" & CInt(txtmoney1.Text) & "','" & txtobjective2.Text & "','" & CInt(txtmoney2.Text) & "')"


                'สร้างชุดคำสั่ง SQl เพื่อเลือกข้อมูล 1 เร็คคอร์ดล่าสุด จากตาราง Borrower
                sqlTmp = "SELECT Max(Objective_id) FROM Objective"

                'สร้างชุดคำสั่ง sql เพื่อเพิ่มข้อมูลลงในตาราง Borrower
                sqlUpdate = "INSERT INTO Borrower (Borrower_id, Member_id, No_contracts, Project_name, Principal, Comments, Reasons, Borrower_name1, Borrower_id1, Borrower_prefix1, Borrower_number1, Borrower_name2, Borrower_id2, Borrower_prefix2, Borrower_number2, Paystatus, Interest, Place, Objective_id) "
                sqlUpdate &= "VALUES('" & txtborrower_id.Text & "','" & txtmember_idb.Text & "','" & txtNo_Contract.Text & "','" & txtProject.Text & "',"
                sqlUpdate &= "'" & CInt(txtSmoney.Text) & "','" & cbocomment.Text & "','" & txtreason.Text & "','" & txtnameb1.Text & "','" & txtmember_idb1.Text & "',"
                sqlUpdate &= "'" & cboprefixb1.Text & "','" & txtNumber_Ca1.Text & "','" & txtnameb2.Text & "','" & txtmember_idb2.Text & "','" & cboprefixb2.Text & "',"
                sqlUpdate &= "'" & txtnumber_Ca2.Text & "','" & cboPaystatus.Text & "','" & CInt(txtcrate.Text) & "','" & txtplace.Text & "','" & sqlTmp & "')" ********ตรงนี้อะคับ sqlTmp



ตรง sqlTmp = "SELECT Max(Objective_id) FROM Objective" ผมไม่เข้าใจว่าต้องทำไงอะคับมันเป็นการบันทึก 2 ตารางทีเดียวอะคับ
เวลาบันทึกมันจะเอา SELECT Max(Objective_id) FROM Objective บันทึกอะคับ


ประวัติการแก้ไข
2010-08-06 18:43:34
2010-08-06 19:50:28
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-06 18:42:14 By : adunafah
 


 

No. 6



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ที่ถามน่ะ งงมากๆ เลยขอรับ select เกี่ยวอะไรกับบันทึก

แล้วกระทู้ก่อนยังใช้แบบ parameter อยู่เลย ทำไมกระทู้นี้ล่อให้ hacker ใช้ sql injection แล้วล่ะครับ

เขาอุตส่าห์ให้ใช้แบบ parameter เพื่อแก้ปัญหานี้แล้วแท้ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-06 20:54:21 By : tungman
 


 

No. 7



โพสกระทู้ ( 44 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Facebook

Code (VB.NET)
"VALUES('" & txtborrower_id.Text


ครั้งหนึ่งเคยใส่แบบนี้ไปโดนด่าเลยครับ อิอิ

เปลี่ยนมาใช้ @ แทน


ประวัติการแก้ไข
2010-08-07 00:21:10
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-07 00:20:38 By : iheerman
 


 

No. 8



โพสกระทู้ ( 1,603 )
บทความ ( 1 )



สถานะออฟไลน์


อ๋อ คุณพยายามจะทำแบบนี้

INSERT INTO [myTable] ( [label] ,[value] ) VALUES ('Sample' ,SELECT MAX(ID) FROM someTable);
ผิดค่ะ INSERT STATEMENT ไม่ได้นิยามแบบนั้น
แต่แก้ได้ด้วยแบบนี้

DECLARE @CapValue AS INT ;

-- PREVENT FOR NULL RECORD
SET @CapValue = 0;

SELECT @CapValue = MAX(ID) FROM someTable;
INSERT INTO [myTable] ( [label] ,[value] ) VALUES ('Sample' ,@CapValue );

แล้วถ้าพอมีเวลา น่าจะเปลี่ยนไปใช้แบบ command parameter นะคะ


ประวัติการแก้ไข
2010-08-07 05:14:24
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-07 04:37:18 By : blurEyes
 


 

No. 9



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Go to : ASP.NET System.Data.OleDb - Parameter Query (OleDbParameter)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-07 06:14:37 By : webmaster
 


 

No. 10



โพสกระทู้ ( 292 )
บทความ ( 0 )



สถานะออฟไลน์


ผมลองเปลี่ยนเป็น แบบ parameter อะคับ(ผมไม่เคยใช้) เป็นตารางเล็กๆอะคับ
แล้วพอรัน แก้ไข เสร็จเปิดดูในฐานข้อมูล ข้อมูลเหมือนเดิมคับ


Code (VB.NET)
If MessageBox.Show("คุณต้องการแก้ไขข้อมูลพนักงาน ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then

            tr = conn.BeginTransaction()

            Try
               
                sb.Remove(0, sb.Length)
                sb.Append("UPDATE Address")
                sb.Append(" SET Moo=@Moo,")
                sb.Append(" Village_name=@Village_name,")
                sb.Append(" Sub=@Sub,")
                sb.Append(" District=@District,")
                sb.Append(" Province=@Province,")
                sb.Append(" Zip=@Zip")
                sb.Append(" WHERE (Address_id=@Address_id)")

                Dim sqlOK As String
                sqlOK = sb.ToString()

                With Com
                    .CommandText = sqlOK
                    .Transaction = tr
                    .Parameters.Clear()
                    .Parameters.Add("@Address_id", OleDbType.VarChar).Value = txtid_addr.Text.Trim()
                    .Parameters.Add("@Moo", OleDbType.VarChar).Value = txtmoo.Text.Trim()
                    .Parameters.Add("@Village_name", OleDbType.VarChar).Value = txtvillage.Text.Trim()
                    .Parameters.Add("@Sub", OleDbType.VarChar).Value = txtsub.Text.Trim()
                    .Parameters.Add("@District", OleDbType.VarChar).Value = txtDistrict.Text.Trim()
                    .Parameters.Add("@Province", OleDbType.VarChar).Value = txtprovince.Text.Trim()
                    .Parameters.Add("@Zip", OleDbType.VarChar).Value = txtzip.Text.Trim()
                    .ExecuteNonQuery()
                End With
                tr.Commit()

                MessageBox.Show("แก้ไขข้อมูลพนักงาน เรียบร้อยแล้ว !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)

            Catch ex As Exception
                MessageBox.Show("เกิดข้อผิดพลาด ", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                tr.Rollback()
            End Try

            Call RefreshData()           'ดึงข้อมูลล่าสุดมาแสดง
        End If

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-07 12:29:21 By : adunafah
 


 

No. 11



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Code (VB.NET)
If MessageBox.Show("คุณต้องการแก้ไขข้อมูลพนักงาน ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then

   tr = conn.BeginTransaction()

   sb.Remove(0, sb.Length)
   sb.Append("UPDATE [Address]")
   sb.Append(" SET [Moo]=@Moo,")
   sb.Append(" [Village_name]=@Village_name,")
   sb.Append(" [Sub]=@Sub,")
   sb.Append(" [District]=@District,")
   sb.Append(" [Province]=@Province,")
   sb.Append(" [Zip]=@Zip")
   sb.Append(" WHERE ([Address_id]=@Address_id)")

   Dim sqlOK As String
   sqlOK = sb.ToString()

   Com.CommandText = sqlOK
   Com.Transaction = tr
   Com.Parameters.Clear()
   Com.Parameters.Add("@Address_id", OleDbType.VarChar).Value = txtid_addr.Text.Trim()
   Com.Parameters.Add("@Moo", OleDbType.VarChar).Value = txtmoo.Text.Trim()
   Com.Parameters.Add("@Village_name", OleDbType.VarChar).Value = txtvillage.Text.Trim()
   Com.Parameters.Add("@Sub", OleDbType.VarChar).Value = txtsub.Text.Trim()
   Com.Parameters.Add("@District", OleDbType.VarChar).Value = txtDistrict.Text.Trim()
   Com.Parameters.Add("@Province", OleDbType.VarChar).Value = txtprovince.Text.Trim()
   Com.Parameters.Add("@Zip", OleDbType.VarChar).Value = txtzip.Text.Trim()

   Try
      Com.ExecuteNonQuery()
      tr.Commit()

      MessageBox.Show("แก้ไขข้อมูลพนักงาน เรียบร้อยแล้ว !!!", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)

    Catch ex As Exception
       MessageBox.Show(String.Format("เกิดข้อผิดพลาดเนื่องจาก {0} ", ex.Message), "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
       tr.Rollback()
    End Try

    Call RefreshData()           'ดึงข้อมูลล่าสุดมาแสดง
End If



ประวัติการแก้ไข
2010-08-07 13:03:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-07 13:02:02 By : tungman
 


 

No. 12



โพสกระทู้ ( 292 )
บทความ ( 0 )



สถานะออฟไลน์


ผมลอง add watch แล้วได้ตามนี้คับ ไม่มีข้อมูลที่จะบันทึกเลยอะคับ

UPDATE Address SET Moo=@Moo, Village_name=@Village_name, Sub=@Sub, District=@District, Province=@Province, Zip=@Zip WHERE (Address_id=@Address_id)

ฐานข้อมูลเลยไม่เปลี่ยนแปลง
พอรันใน Access มันให้ใส่ ค่าพารามิเตอร์คับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-07 13:39:02 By : adunafah
 


 

No. 13



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Code (C#)
   Com.CommandText = sqlOK
   Com.Connection = conn
   Com.Transaction = tr
   Com.Parameters.Clear()
   Com.Parameters.Add("@Address_id", OleDbType.VarChar).Value = txtid_addr.Text.Trim()
   Com.Parameters.Add("@Moo", OleDbType.VarChar).Value = txtmoo.Text.Trim()
   Com.Parameters.Add("@Village_name", OleDbType.VarChar).Value = txtvillage.Text.Trim()
   Com.Parameters.Add("@Sub", OleDbType.VarChar).Value = txtsub.Text.Trim()
   Com.Parameters.Add("@District", OleDbType.VarChar).Value = txtDistrict.Text.Trim()
   Com.Parameters.Add("@Province", OleDbType.VarChar).Value = txtprovince.Text.Trim()
   Com.Parameters.Add("@Zip", OleDbType.VarChar).Value = txtzip.Text.Trim()

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-08-07 14:15:50 By : tungman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : insert into error แบบนี้อะคับ ควรปรับเปลี่ยนตรงไหนยังไงบ้างคับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่