CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  VB.NET

定义为唯一性的字段数据如何添加?在线等待,谢谢

楼主fujiandragon(龙儿)2006-05-02 17:11:34 在 .NET技术 / VB.NET 提问

后台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

相关问题

关键词

得分解答快速导航

  • 帖主:fujiandragon
  • llwen218
  • sanjie88
  • sanjie88
  • copico
  • sanjie88
  • gezichong
  • gezichong
  • HAVENT
  • HAVENT
  • Samen168

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo