导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

为什么一个字段的类型为numeric时,它的“标识种子”还不能编辑(为灰的),100分在线送

zhujiangxiong 2003-12-12 10:59:13
如题目,是SQLSERVER的。
还有问一下,把表里的一个字段原来的类型是VarChar改成现在的类型是Float后(改之前表里的数据已经全部删关了),数据就写不进去了,提示不匹配的类型,后来我把表重新建立过(先删除)也是不行,我在DELPHI里把ADOConnection、ADODataSet等也重新删除再建立过,还是不行!现在问题更严重了,重新建立的表不能够定义它的“标识种子”。我的代码如下:
procedure Tdengjichengbenfm.BitBtn1Click(Sender: TObject);
begin
if ComboBox3.Text = '' then
begin
ShowMessage('你没有选择客户名称!请选择客户名称。')
end
else if ComboBox2.Text = '' then
begin
ShowMessage('你没有选择合同编号!请选择合同编号。')
end
else if ComboBox1.Text = '' then
begin
ShowMessage('你没有选择费用性质!请选择费用性质。')
end
else if Edit1.Text = '' then
begin
ShowMessage('金额不能为空!')
end
else
begin
ADODst.Open;
ADODst.Append;
ADODst.FieldByName('kh_khmc').AsString := ComboBox3.Text;
ADODst.FieldByName('ht_id').AsString := ComboBox2.Text;
ADODst.FieldByName('htcbmx_zcrq').AsString := DateTimeToStr(DateTimePicker1.DateTime);
ADODst.FieldByName('htcbmx_cbmc').AsString := ComboBox1.Text;
ADODst.FieldByName('htcbmx_je').Value:=StrToFloat(Edit1.Text);
//这样也不行: ADODst.FieldByName('htcbmx_je').AsString := Edit1.Text;
ADODst.FieldByName('htcbmx_jsr').AsString := Edit3.Text;
ADODst.FieldByName('htcbmx_bz').AsString := Edit2.Text;
ADODst.Post;
ShowMessage('记录添加成功!');
close;
end;
end;
...全文
10 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujiangxiong 2003-12-12
第一个问题已经解决(“标识种子”),谁给我分析一下地二个问题
回复
企业管理器中的操作同理,你将小数位设置为为0,标识属性就可以设置了.
回复
--例子:

--创建表
create table tb(id numeric(38,0) identity(1,1),a int)

--插入数据测试
insert into tb values(1)
select * from tb
go
drop table tb

--结果
id a
---------------------------------------- -----------
1 1

(所影响的行数为 1 行)
回复
lynx1111 2003-12-12
将小数位设置为0就可以了吗?
回复
因为你的numeric设置了小数位,将小数位设置为0就可以了.,
回复
happy19781921 2003-12-12
将类型改成 int 然后在如上操作
回复
happy19781921 2003-12-12
在设计表的时候,在下面有一项,是标识,将它选择为“是”
回复
txlicenhe 2003-12-12
用int或bigint
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告