定义为唯一性的字段数据如何添加?在线等待,谢谢
后台sql数据库中有一个id字段,定义为标识种子(不用于复制),自动增量为1。
在程序中要增加一行数据,采用以下形式命令:
Ds.Tables("XiaoFei").Rows.Add(New Object() {0,"","","",""})
这时候如何给ID字段赋值?
问题点数:20、回复次数:16Top
1 楼llwen218(lanlan)回复于 2006-05-02 17:29:35 得分 1
要先把数据库里面的identity_insert设置为on,然后就可以插入了。Top
2 楼fujiandragon(龙儿)回复于 2006-05-02 17:53:10 得分 0
怎么设置阿?在那里设置?程序里面还是sql server 里面?
Top
3 楼sanjie88(菜鸟依旧,谁动了我的毛片)回复于 2006-05-02 22:44:59 得分 1
通过执行SQL命令就可以了Top
4 楼fujiandragon(龙儿)回复于 2006-05-02 23:19:25 得分 0
能否说的具体些?
是不是生成数据集时“刷新数据集”的“勾”不打?Top
5 楼fujiandragon(龙儿)回复于 2006-05-08 10:08:25 得分 0
开假了,应该有人回答了哦Top
6 楼sanjie88(菜鸟依旧,谁动了我的毛片)回复于 2006-05-08 10:11:57 得分 1
就是象执行一句SQL语句一样的Top
7 楼copico(北北)回复于 2006-05-08 10:13:50 得分 4
在数据库表设计的时候把ID设为自动增量
然后在插入的时候不用管它,你只管插入别的字段值,记录出来后ID就自动加1
ID name password
insert into userTabel(name,password) values('1','2')Top
8 楼sanjie88(菜鸟依旧,谁动了我的毛片)回复于 2006-05-08 10:15:25 得分 5
private sub ExecS
strSQL = " SET IDENTITY_INSERT TABLE on "
ExecuteSQL(strSQL)
End Sub
Public Function ExecuteSQL(ByVal strSQL As String) As Boolean
Try
Dim ODBCcmd As OleDbCommand = CreateDBcommand(strSQL, m_connection)
ODBCcmd.CommandText = strSQL
ODBCcmd.ExecuteNonQuery()
ODBCcmd.Dispose()
ODBCcmd = Nothing
Return True
Catch ex As Exception
WriteStateBox("Execute SQL Error:" + tbChar + strSQL)
Return False
End Try
End FunctionTop
9 楼fujiandragon(龙儿)回复于 2006-05-09 21:42:27 得分 0
看来是我把题目说错了,我的本意是这样:
后台一个SQL数据库表AAA,里面有3个字段:ID,NAME,PASS , 其中ID 字段定义为标识种子(不用于复制),自动增量为1。 在VS2003的IDE中利用ADO.NET,通过SELECT ID,NAME,PASS FROM AAA 在内存中生成一个数据集表,我现在想通过多次执行Ds.Tables("AAA").Rows.Add(New Object() {0,"",""})来产生多条记录,可惜系统在产生第二条记录时就报错,说是0编号ID已经存在,我该怎样使得ID能够不重复?
Top
10 楼gezichong(鸽子虫)回复于 2006-05-09 22:05:28 得分 4
在表中添加新的一列,
Dim NewColumn As DataColumn = New DataColumn
With NewColumn
.ColumnName = "序号"
.AutoIncrement = True
.AutoIncrementSeed = 1
.ReadOnly = True
( 有这么一句: ) .AutoIncrementStep = 1
End With
ResultTable.Columns.Add(NewColumn)
这样就可以了
Top
11 楼gezichong(鸽子虫)回复于 2006-05-09 22:07:08 得分 1
把以前的ID去掉,
如如果有初始值的话,再给newcolumn加个初始值的设置就行了,Top
12 楼fujiandragon(龙儿)回复于 2006-05-09 22:16:41 得分 0
谢楼上的,如果不去掉原来的ID字段,还有没有其他办法?Top
13 楼wangchaocn((小雨点))回复于 2006-05-09 22:27:45 得分 0
markTop
14 楼HAVENT(夜雨流星℡)回复于 2006-05-10 08:34:11 得分 1
如果是SQL的自动标识,不用考虑此字段,他是自动完成赋值的Top
15 楼HAVENT(夜雨流星℡)回复于 2006-05-10 08:37:18 得分 1
copico(苦涩(一路向北)) 大哥已经讲的很清楚了Top
16 楼Samen168(Code to coding)回复于 2006-05-10 08:39:06 得分 1
DS里每条新增行ID给个不同的负数Top




