sql中的insert语句只能逐条插入数据。
根据你的描述,我建议如下做:
1
建立一张临时表,结构与目标表相同;
2
向临时表导入所有数据,包括重复数据,具体导入的方法与你采用的数据库软件有关,不同的数据库都有导入功能,但 *** 作方法不同,可以到网上查一查;
3
insert
into
目标表
select
distinct
from
临时表,这句话可以把临时表中的重复行消除掉只保留一次,然后批量插入到目标表中。
Dim sql As String
sql = "select from Teacher"
'这句有问题,肯定是修改第一行数据,应该是
sql = "select from Teacher Order BY ID Desc"
Set rs = exesql(sql)
’在这里必须添加下面的语句:
rsAddNew '新增数据
rsFields("管理员姓名") = Trim(Text1Text)
rsFields("工号") = Trim(Text2Text)
rsFields("管理员密码") = Trim(Text19Text)
rsFields("性别") = Trim(Text3Text)
rsFields("****") = Trim(Text4Text)
rsFields("家庭住址") = Trim(Text5Text)
rsUpdate
rsClose
另外,我认为以下语句没有任何意义,不如删除:
rsFields("管理员姓名") = ""
rsFields("工号") = ""
rsFields("管理员密码") = ""
rsFields("性别") = ""
rsFields("****") = ""
rsFields("家庭住址") = ""
楼上说的部分是对的,但有几点需要指出。如果你的id字段是自增的标识字段的话,它的序号是不可逆的(我说的是自动,当然手动可是实现重新顺序编号),再就是sql200中你不能在两行记录之间再插入一行的(让新插入的记录再原记录之间)。
1、像你说方法在形式上可以达到预想的效果:看上去好像在原来的第2行记录与第3行记录之间“插入”了一条新记录,但是前面的ID列(如果是自增的话)是不会再按1、2、3、4的顺序重新编号的,他是不会自动重新顺序编号的,他会变成1、2、4、5……
2、你的想法是完全没有必要的。对于数据库每条记录之间是完全平等的关系,不管数据库中谁在上谁在下。数据库只是一个存放数据的仓库,如果要向用户展示里面的数据的话是要用视图或者查询的,不会直接取数据表中人为的找的,要是那样也就失去数据库的本质变成了一般的数据文件了。
3、数据库一般都会结合某种应用程序联合应用,起到快速检索用户所需数据的作用,并能实现一定的排序、分组、统计等功能。
综上建议你不要继续你的工作。
把添加的行添加到数据源里 datatable1RowsAdd("row")
dataGridView1DataSource=datatable1;
你改变下思路,先添加到数据源,然后再绑定,而不是像现在这样先绑定,再添加新行。
点击添加,实例化一个datagridview的行对象datarow
然后把这个对象添加到datagridview中,你的datagridview要是可编辑状态,然后编辑数据,点保存循环读取datagridview的行数据,存到实体类中,在通过后台sql保存到数据库
access中增加记录,只能在最后一行添加
比如原数据是
10
20
30
添加一个数据25,结果成了
10
20
30
25
为了方便按顺序观看数据,你可以在该字段上单击右键,点"升序排序",就成了这样:
10
20
25
30
以上就是关于sql新增一行全部的内容,包括:sql新增一行、VB中向数据库插入一行数据、sql2000中怎么在数据中间插入一行数据~等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)