ช่วยแนะวิธีการ error vb 2005 นี้ด้วยครับ ผมเขียนโปรแรกมาแล้วมันเกิด error มายังนีครับ vb.2005
ผมเขียนโปรแรกมาแล้วมันเกิด error มายังนีครับ
vb.2005
"String or binary data would be truncated. The statement has been terminated."
โค้ดมีอย่างนี้ครับ
'การตรวจสอบ
Dim dt As DataTable
sql = " select * from Patient "
sql &= " where Id_Card = '" & Id_Card.Text & "'"
da = New SqlDataAdapter(sql, con)
dt = New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
MessageBox.Show("มีหมายเลขบัตรประชาชน นี้แล้วครับ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Id_Card.Focus()
Id_Card.Text = ""
Exit Sub
End If
If MessageBox.Show("คุณต้องการบันทึกข้อมูลนี้ ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Try
sb = New StringBuilder
'sb.Append("insert into Patient(Id_Card, Titlecode_Id, Name, Birthday, Sex, Status_Id, Occ_Id, Nationality, Origin, religion, Patient_Father, Patient_Mother, Allergic, Patient_Mate, Address, Moo, Villiage, Tumbol, Amphur, Province, Life, Phone, Righttype, Right_Id)")
'sb.Append(" values (@Id_Card, @Titlecode_Id, @Name, @Birthday, @Sex, @Status_Id, @Occ_Id, @Nationality, @Origin, @religion, @Patient_Father, @Patient_Mother, @Allergic, @Patient_Mate, @Address, @Moo, @Villiage, @Tumbol, @Amphur, @Province, @Life, @Phone, @Righttype, @Right_Id)")
sb.Append("insert into Patient(Id_Card, Titlecode_Id, Name, Birthday, Sex, Status_Id, Occ_Id, Nationality, Origin, religion, Allergic, Address, Villiage, Tumbol, Amphur, Province, Life, Phone, Righttype, Right_Id)")
sb.Append(" values (@Id_Card, @Titlecode_Id, @Name, @Birthday, @Sex, @Status_Id, @Occ_Id, @Nationality, @Origin, @religion, @Allergic, @Address, @Villiage, @Tumbol, @Amphur, @Province, @Life, @Phone, @Righttype, @Right_Id)")
Dim insert As String = sb.ToString
com = New SqlCommand
With com
.CommandText = insert
.CommandType = CommandType.Text
.Connection = con
.Parameters.Clear()
.Parameters.Add("@Id_Card", SqlDbType.VarChar).Value = Id_Card.Text
.Parameters.Add("@Titlecode_Id", SqlDbType.VarChar).Value = title.Text
.Parameters.Add("@Name", SqlDbType.VarChar).Value = namepatien.Text
.Parameters.Add("@Birthday", SqlDbType.DateTime).Value = birthday.Value.Date
.Parameters.Add("@Sex", SqlDbType.VarChar).Value = sex.Text
.Parameters.Add("@Status_Id", SqlDbType.VarChar).Value = status.Text
.Parameters.Add("@Occ_Id", SqlDbType.VarChar).Value = occ.Text
.Parameters.Add("@Nationality", SqlDbType.VarChar).Value = nationality.Text
.Parameters.Add("@Origin", SqlDbType.VarChar).Value = origin.Text
.Parameters.Add("@Religion", SqlDbType.VarChar).Value = religion.Text
.Parameters.Add("@Patient_Father", SqlDbType.VarChar).Value = nameF.Text
.Parameters.Add("@Patient_Mother", SqlDbType.VarChar).Value = nameM.Text
.Parameters.Add("@Allergic", SqlDbType.VarChar).Value = remark.Text
.Parameters.Add("@Patient_Mate", SqlDbType.VarChar).Value = nameMate.Text
.Parameters.Add("@Address", SqlDbType.VarChar).Value = Nohouse.Text
.Parameters.Add("@Moo", SqlDbType.VarChar).Value = Moo.Text
.Parameters.Add("@Villiage", SqlDbType.VarChar).Value = villiagename.Text
.Parameters.Add("@Tumbol", SqlDbType.VarChar).Value = tumbol.Text
.Parameters.Add("@Amphur", SqlDbType.VarChar).Value = amphur.Text
.Parameters.Add("@Province", SqlDbType.VarChar).Value = province.Text
.Parameters.Add("@Life", SqlDbType.VarChar).Value = life.Text
.Parameters.Add("@Phone", SqlDbType.VarChar).Value = phone.Text
.Parameters.Add("@Righttype", SqlDbType.VarChar).Value = rightname.Text
.Parameters.Add("@Right_Id", SqlDbType.VarChar).Value = Right_Id.Text
Dim result As Integer = .ExecuteNonQuery
If result = 0 Then
MessageBox.Show("ไม่สามารถบันทึกข้อมูลได้", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
MessageBox.Show("บันทึกข้อมูลเรียบร้อย", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
ShowData()
cldata()
End With
Catch ex As Exception
MessageBox.Show("เกิดข้อผิดพลาดขึ้น เนื่องจาก " & ex.Message, "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
End If
ช่วยด้วยครับ
เครียดมากเลย แนะวิธีแก้ไขด้วยเถอะครับTag : - - - -
Date :
2010-05-23 23:08:06
By :
takamachi
View :
1667
Reply :
2
ตาลายเลย ก็อบไว้ก่อน จะได้ดูง่ายๆ
Code (VB.NET)
'การตรวจสอบ
Dim dt As DataTable
sql = " select * from Patient "
sql &= " where Id_Card = '" & Id_Card.Text & "'"
da = New SqlDataAdapter(sql, con)
dt = New DataTable
da.Fill(dt)
If dt.Rows.Count > 0 Then
MessageBox.Show("มีหมายเลขบัตรประชาชน นี้แล้วครับ !!!", "ผลการตรวจสอบ", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Id_Card.Focus()
Id_Card.Text = ""
Exit Sub
End If
If MessageBox.Show("คุณต้องการบันทึกข้อมูลนี้ ใช่หรือไม่?", "คำยืนยัน", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Try
sb = New StringBuilder
'sb.Append("insert into Patient(Id_Card, Titlecode_Id, Name, Birthday, Sex, Status_Id, Occ_Id, Nationality, Origin, religion, Patient_Father, Patient_Mother, Allergic, Patient_Mate, Address, Moo, Villiage, Tumbol, Amphur, Province, Life, Phone, Righttype, Right_Id)")
'sb.Append(" values (@Id_Card, @Titlecode_Id, @Name, @Birthday, @Sex, @Status_Id, @Occ_Id, @Nationality, @Origin, @religion, @Patient_Father, @Patient_Mother, @Allergic, @Patient_Mate, @Address, @Moo, @Villiage, @Tumbol, @Amphur, @Province, @Life, @Phone, @Righttype, @Right_Id)")
sb.Append("insert into Patient(Id_Card, Titlecode_Id, Name, Birthday, Sex, Status_Id, Occ_Id, Nationality, Origin, religion, Allergic, Address, Villiage, Tumbol, Amphur, Province, Life, Phone, Righttype, Right_Id)")
sb.Append(" values (@Id_Card, @Titlecode_Id, @Name, @Birthday, @Sex, @Status_Id, @Occ_Id, @Nationality, @Origin, @religion, @Allergic, @Address, @Villiage, @Tumbol, @Amphur, @Province, @Life, @Phone, @Righttype, @Right_Id)")
Dim insert As String = sb.ToString
com = New SqlCommand
With com
.CommandText = insert
.CommandType = CommandType.Text
.Connection = con
.Parameters.Clear()
.Parameters.Add("@Id_Card", SqlDbType.VarChar).Value = Id_Card.Text
.Parameters.Add("@Titlecode_Id", SqlDbType.VarChar).Value = title.Text
.Parameters.Add("@Name", SqlDbType.VarChar).Value = namepatien.Text
.Parameters.Add("@Birthday", SqlDbType.DateTime).Value = birthday.Value.Date
.Parameters.Add("@Sex", SqlDbType.VarChar).Value = sex.Text
.Parameters.Add("@Status_Id", SqlDbType.VarChar).Value = status.Text
.Parameters.Add("@Occ_Id", SqlDbType.VarChar).Value = occ.Text
.Parameters.Add("@Nationality", SqlDbType.VarChar).Value = nationality.Text
.Parameters.Add("@Origin", SqlDbType.VarChar).Value = origin.Text
.Parameters.Add("@Religion", SqlDbType.VarChar).Value = religion.Text
.Parameters.Add("@Patient_Father", SqlDbType.VarChar).Value = nameF.Text
.Parameters.Add("@Patient_Mother", SqlDbType.VarChar).Value = nameM.Text
.Parameters.Add("@Allergic", SqlDbType.VarChar).Value = remark.Text
.Parameters.Add("@Patient_Mate", SqlDbType.VarChar).Value = nameMate.Text
.Parameters.Add("@Address", SqlDbType.VarChar).Value = Nohouse.Text
.Parameters.Add("@Moo", SqlDbType.VarChar).Value = Moo.Text
.Parameters.Add("@Villiage", SqlDbType.VarChar).Value = villiagename.Text
.Parameters.Add("@Tumbol", SqlDbType.VarChar).Value = tumbol.Text
.Parameters.Add("@Amphur", SqlDbType.VarChar).Value = amphur.Text
.Parameters.Add("@Province", SqlDbType.VarChar).Value = province.Text
.Parameters.Add("@Life", SqlDbType.VarChar).Value = life.Text
.Parameters.Add("@Phone", SqlDbType.VarChar).Value = phone.Text
.Parameters.Add("@Righttype", SqlDbType.VarChar).Value = rightname.Text
.Parameters.Add("@Right_Id", SqlDbType.VarChar).Value = Right_Id.Text
Dim result As Integer = .ExecuteNonQuery
If result = 0 Then
MessageBox.Show("ไม่สามารถบันทึกข้อมูลได้", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Else
MessageBox.Show("บันทึกข้อมูลเรียบร้อย", "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
ShowData()
cldata()
End With
Catch ex As Exception
MessageBox.Show("เกิดข้อผิดพลาดขึ้น เนื่องจาก " & ex.Message, "ผลการทำงาน", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
End If
Date :
2010-05-24 00:09:15
By :
tungman
Load balance : Server 01