(พี่codemanถ้าออนช่วยเข้ามาดูหน่อย)บันทึกข้อมูลลงฐานข้อมูลAutonumber PrimaryKeyแล้วบันทึกค่ายังว่างแต่ยังบันทึกได้
ตรงไหนช่วยชี้แนะอีกนิดได้ไม คิดไม่ออก
Date :
2009-12-15 13:09:01
By :
topflight
ช่วยเอา code event ตอนกด submit มากางหน่อย คือถ้ายังไม่เรียก command query auto increment ของ col มันก็ยังไม่นับให้นะ ที่บอกไป ก็ใช้ได้แล้วแค่เอาไปแปลงเป็น code ใช้งานจริงๆ แค่นั้น
เอา table structure ของที่ใช้คู่กันตอนกด submit ด้วยนะ เช่น
column name , data type , key index, parameter
ProductID, integer, PK, Auto increment
ProductName, nvarchar, ,
CateID, integer, idx, ,
** PK = Primary Key
idx = index column
Date :
2009-12-15 21:43:09
By :
salapao_codeman
Code (VB.NET)
strSQL = "INSERT INTO Customer(CusName,CusAge,CusAddress,CusTel) " & _
" VALUES " & _
" ('" & Me.txtName.Text & "','" & Me.txtAge.Text & "','" & Me.txtAddress.Text & "', " & _" '" & Me.txtTel.Text & " ')"
objCmd = New SqlCommand(strSQL, objConn)
With objCmd
.Connection = objConn
.CommandText = strSQL
.CommandType = CommandType.Text
End With
Try
objCmd.ExecuteNonQuery()
If (txtname.Text = "") Or (txtAddress.Text = "") Or (txtTel.Text = "") Then
Response.Write("<script language=javascript>if(window.alert('กรุณากรอกข้อมูลให้ครบ'))</script>")
Else
Response.Write("<script language=javascript>if(window.alert('บันทึกสำเร็จ'))</script>")
End If
Catch ex As Exception
Response.Write("<script language=javascript>if(window.alert('ไม่สามารถบันทึกข้อมูลได้'))</script>")
End Try
objConn.Close()
objConn = Nothing
พวกประกาศตัวแปรอยู่ในpage load
PK CusID int autonum
CusName nvarchar(50)
CusAge float
CusAddress nvarchar(100)
CusTel nvarchar(14)
ขอบคุณมากๆครับ
Date :
2009-12-15 22:40:22
By :
topflight
strSQL = "INSERT INTO Customer(CusName,CusAge,CusAddress,CusTel, ) " & _
" VALUES " & _
" ('" & Me.txtName.Text & "','" & Me.txtAge.Text & "','" & Me.txtAddress.Text & "', " & _" '" & Me.txtTel.Text & " ')"
Date :
2009-12-15 23:18:16
By :
plakrim
ถูก อย่างของคุณ PlaKrim บอกครับ script query ผิดเพราะมี , เกินมาอันนึงครับ ส่วนที่บอกว่า autonum มันเพิ่มทุกครั้งยังงงอยู่ครับ เพราะผมมาลองทำให้ error ตามนี้ดูแล้ว ก็จะติด exception นะครับ
และ column ที่เป็น auto increment ก็ไม่เพิ่มด้วยอ่ะครับ
เวลากำหนดให้เป็น auto increment ทำแบบนี้ใช่ป่ะครับ
อันนี้ข้อมูลที่ลองทดสอบ
Date :
2009-12-16 00:14:41
By :
salapao_codeman
ตรงที่เกินตอนลงเว็บใส่ผิดเองลืมดู
เวลากำหนดให้เป็น auto increment ทำแบบนี้ใช่ป่ะครับ ----->ใช่คับ
คือสมมติบันทึกโดยไม่กรอกข้อมูลcodeที่เขียนขึ้นมันก็รัน แล้วพอบันทึกใหม่มันก็ข้ามไปเลย
เช่น PK 8แล้วไป10 25ไป27 เลขที่ข้ามไปเกิดจากบันทึกไม่สำเร็จ สามารถsetให้เริ่มจากC0001ได้ไม
Date :
2009-12-16 01:06:02
By :
topflight
ไม่รู้เกี่ยวกับอันนี้หรือเปล่า
Code (VB.NET)
objCmd = New SqlCommand(strSQL, objConn)
strSQL = "Select top 1 CusID from customer order by CusID DESC"
With objCmd
.Connection = objConn
.CommandText = strSQL
.CommandType = CommandType.Text
End With
Dim reader As SqlDataReader = objCmd.ExecuteReader()
reader.Read()
Dim MaxCusID As String = reader("CusID")
reader.Close()
objConn.Close()
objConn = Nothing
Session("CustomerID") = MaxCusID
Date :
2009-12-16 23:21:35
By :
topflight
Load balance : Server 03