加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[VB.NET]老问题,插入数据并发错误?

发布时间:2020-12-16 23:49:34 所属栏目:大数据 来源:网络整理
导读:老问题,插入数据并发错误? ''简单的数据存取.动态表.有主键,原因在于未能自动提升主键值。(用自动生成的数据集就没此问题) Imports System.Data.SqlClient Public Class Form1 Dim comm As New SqlClient.SqlConnection Dim ad As New SqlDataAdapter("SELE
老问题,插入数据并发错误? ''简单的数据存取.动态表.有主键,原因在于未能自动提升主键值。(用自动生成的数据集就没此问题) Imports System.Data.SqlClient Public Class Form1 Dim comm As New SqlClient.SqlConnection Dim ad As New SqlDataAdapter("SELECT * FROM 数据表",comm) Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load Dim st As String = "D:/temp/sql.mdf" Dim SqTex As String = "Data Source=./SQLEXPRESS;AttachDbFilename=" & st & ";Integrated Security=True;Connect Timeout=30;User Instance=True" comm.ConnectionString = SqTex comm.Open() Dim dber As New SqlCommandBuilder(ad) ad.DeleteCommand = dber.GetDeleteCommand ad.InsertCommand = dber.GetInsertCommand ad.UpdateCommand = dber.GetUpdateCommand Dim ds As New DataSet ad.FillSchema(ds,SchemaType.Mapped,"数据表") ad.Fill(ds,"数据表") DataGridView1.DataSource = ds DataGridView1.DataMember = "数据表" End Sub Private Sub DataGridView1_CellEndEdit(ByVal sender As Object,ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit Try Me.Validate() Catch End Try Dim ds As DataSet =Ctype(DataGridView1.DataSource,DataSet) ad.Update(ds,"数据表") End Sub End Class __________________________________________________________________________ 什么问题? __________________________________________________________________________ 用解除约束试一试。 __________________________________________________________________________ 引用 1 楼 qinhl99 的回复: 什么问题? 1.)创建一个测试表 如: (先写入一条或多条记录) AAA BBB HHH 序号 ''----序号设为主键 .. .. .. 0 贴上代码执行,插入一条记录看会发生什么? __________________________________________________________________________ 今天忠于将问题解决了。还是老方法。 Dim cn As New SqlCommand("SELECT MAX(序号) FROM 数据表",comm) Dim sd As Integer = cn.ExecuteScalar + 1 ds.Tables("数据表").Columns("序号").AutoIncrement = True ds.Tables("数据表").Columns("序号").AutoIncrementSeed = sd ds.Tables("数据表").Columns("序号").AutoIncrementStep = 1 ''---------------------------- 用SQL语句设置的主键在更新的时候都要刷新填充表,表会滚动, 不知还有更好的方法? __________________________________________________________________________ 来学习了. __________________________________________________________________________

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读