VB.net sql表未显示最后一行
我在做什么-VB.net sql表未显示最后一行,sql,vb.net,sql-server-ce-3.5,Sql,Vb.net,Sql Server Ce 3.5,我在做什么- 从excel工作表将406行导入5个sql表 导入后,我手动将数据逐个保存到5个 按钮单击事件上的表并在datagridview上显示 保存每条记录后,我将刷新datagridview 我的问题- 记录已正确保存,但datagridview仅显示 408条记录,其中实际记录数为412条 同时从服务器资源管理器查看时,仅显示408条记录 显示 但是表属性显示有412行 这个问题只与第一个表有关 我的代码:- cmd.CommandText = String.Empty
cmd.CommandText = String.Empty
cmd.Parameters.Clear()
cmd.CommandText = "INSERT into pd([Adm No],[DOA],[Name],[Course],[Fees Due],[Concession],[Contact No 1]," & _
"[Contact No 2],[E-Mail],[Year of Passing],[Address],[DOB],[College])" & _
" values(@admno,@doa,@name,@course,@totalfees,@concession,@contactno1,@contactno2,@email,@yop," & _
"@address,@dob,@college)"
cmd.Parameters.AddWithValue("@admno", i.ToString)
cmd.Parameters.AddWithValue("@doa", date_format.format_date(doa.Value.Date))
cmd.Parameters.AddWithValue("@name", txt_name.Text)
cmd.Parameters.AddWithValue("@course", combo_course.SelectedItem.ToString)
cmd.Parameters.AddWithValue("@totalfees", txt_totalfees.Text)
cmd.Parameters.AddWithValue("@concession", txt_concession.Text)
cmd.Parameters.AddWithValue("@contactno1", txt_contact1.Text)
cmd.Parameters.AddWithValue("@contactno2", txt_contact2.Text)
cmd.Parameters.AddWithValue("@email", txt_email.Text)
cmd.Parameters.AddWithValue("@yop", txt_yop.Text)
cmd.Parameters.AddWithValue("@address", txt_address.Text)
cmd.Parameters.AddWithValue("@dob", date_format.format_date(dob.Value.Date))
cmd.Parameters.AddWithValue("@college", txt_college.Text)
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.Connection = con
cmd.ExecuteNonQuery()
'save fees details
cmd.CommandText = String.Empty
cmd.Parameters.Clear()
cmd.CommandText = "INSERT into fees([Adm No],[Name],[Fees Due],[Fees Paid],[No of Installments]," & _
"[Installment Amounts],[Receipt Nos],[Dates of Transaction],[Mode],[Bank],[Due Date]" & _
",[Total Fees],[Concession],[Cheque No],[Course])" & _
" values(@admno,@name,@feesdue,@feespaid,@noi,@instamnt,@rcno,@dot,@mode,@bank,@dd," & _
"@total,@concession,@chqno,@course)"
cmd.Parameters.AddWithValue("@admno", i.ToString)
cmd.Parameters.AddWithValue("@name", txt_name.Text)
cmd.Parameters.AddWithValue("@feesdue", (CInt(txt_totalfees.Text) - CInt(txt_concession.Text)))
cmd.Parameters.AddWithValue("@feespaid", CInt(0))
cmd.Parameters.AddWithValue("@noi", CInt(0))
cmd.Parameters.AddWithValue("@instamnt", "")
cmd.Parameters.AddWithValue("@rcno", "")
cmd.Parameters.AddWithValue("@dot", "")
cmd.Parameters.AddWithValue("@mode", "")
cmd.Parameters.AddWithValue("@bank", "")
cmd.Parameters.AddWithValue("@dd", "")
cmd.Parameters.AddWithValue("@total", CInt(txt_totalfees.Text))
cmd.Parameters.AddWithValue("@concession", txt_concession.Text)
cmd.Parameters.AddWithValue("@chqno", "")
cmd.Parameters.AddWithValue("@course", combo_course.SelectedItem.ToString)
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.Connection = con
cmd.ExecuteNonQuery()
'save photo
If Not PictureBox1.Image Is Nothing Then
cmd.CommandText = String.Empty
cmd.Parameters.Clear()
cmd.CommandText = "Insert into img values(@adm,@name,@imge)"
Dim para As New SqlCeParameter("imge", SqlDbType.Image)
Dim ms As New MemoryStream
PictureBox1.BackgroundImage.Save(ms, PictureBox1.BackgroundImage.RawFormat)
Dim data As Byte() = ms.GetBuffer
para.Value = data
cmd.Parameters.AddWithValue("@adm", lb_admno.Text)
cmd.Parameters.AddWithValue("@name", txt_name.Text)
cmd.Parameters.Add(para)
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.Connection = con
cmd.ExecuteNonQuery()
Else
cmd.CommandText = String.Empty
cmd.Parameters.Clear()
cmd.CommandText = "Insert into img values(@adm,@name,@imge)"
Dim para As New SqlCeParameter("imge", SqlDbType.Image)
Dim ms As New MemoryStream
PictureBox1.BackgroundImage.Save(ms, PictureBox1.BackgroundImage.RawFormat)
Dim data As Byte() = ms.GetBuffer
para.Value = data
cmd.Parameters.AddWithValue("@adm", lb_admno.Text)
cmd.Parameters.AddWithValue("@name", txt_name.Text)
cmd.Parameters.Add(para)
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.Connection = con
cmd.ExecuteNonQuery()
End If
cmd.CommandText = String.Empty
cmd.Parameters.Clear()
cmd.CommandText = "insert into attend values(@adm,@name,@course,@dt,@stat)"
cmd.Parameters.AddWithValue("@adm", lb_admno.Text)
cmd.Parameters.AddWithValue("@name", txt_name.Text)
cmd.Parameters.AddWithValue("@course", combo_course.SelectedItem.ToString)
cmd.Parameters.AddWithValue("@dt", "")
cmd.Parameters.AddWithValue("@stat", "")
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.Connection = con
cmd.ExecuteNonQuery()
cmd.CommandText = String.Empty
cmd.Parameters.Clear()
cmd.CommandText = "insert into testdb values(@adm,@name,@course,@tname,@tdate,@marksob,@marksout)"
cmd.Parameters.AddWithValue("@adm", lb_admno.Text)
cmd.Parameters.AddWithValue("@name", txt_name.Text)
cmd.Parameters.AddWithValue("@course", combo_course.SelectedItem.ToString)
cmd.Parameters.AddWithValue("@tname", "")
cmd.Parameters.AddWithValue("@tdate", "")
cmd.Parameters.AddWithValue("@marksob", "")
cmd.Parameters.AddWithValue("@marksout", "")
If con.State = ConnectionState.Closed Then
con.Open()
End If
cmd.Connection = con
cmd.ExecuteNonQuery()
问题在于导入记录的代码。我正在读取excel文件的单元格,并将它们插入五个表中 只有当我逐个导入所有五个表中的记录时,问题才会出现,但如果我只将记录导入三个表中,那么问题就不会出现
这解决了我的问题,但我碰巧不知道背后的真正原因。为什么我不能将记录一个接一个地导入到五个表中?如果有人发现错误背后的原因,请发表评论。什么是
sql表
<代码>sql不是RDBMS。你使用的是哪种RDBMS?它是微软SQL Server Cype 3.5数据库,其中有5个表要考虑-双检查实际行计数,是否有任何重复,只增加一次,是否有任何损坏的数据不能被添加,等等。不,没有损坏的数据。表中显示了所有导入的行,只有当我尝试手动添加记录时才会出现问题。嗨,史蒂夫,你能稍微澄清一下这个问题吗。不清楚你在问什么。例如,导入406行,datagridview仅显示408条记录,其中实际记录数为412条。但是表属性显示有412行。这个问题只出现在第一个表中。我们无法确定实际值与您的期望值。祝你好运