在一个表中增加了一个数值字段,如何赋上不同的值
客户那边的程序的数据库中有一个表,原只有一个字段:姓名,现想增加一个字段:编号,需要给用户升级一下程序,增加这个字段的编码程序已完成了,现在想问一下,增加完这个字段后,如何给这个编号分别赋不同的值 。谢谢大家 。 --------------------编程问答-------------------- 分两步,第一步:创建字段,第二步:写入数据 --------------------编程问答-------------------- do while not d.eof
update .......
d.movenext
loop
--------------------编程问答-------------------- 说明你的代码在数据库操作方面还存在不少硬编码. 以至于连数据库和程序都要更改.
举个例子:
recordset.field("name")=text1.text 或者反过来赋值, 这种都是糟糕透顶的代码.
将来数据库升级都需要改代码.
好的做法是不要用硬性的代码来将字段和控件对应.
假设你使用的界面是label+text的形式, label用来显示字段含意,text用来显示字段内容.
在界面上默认有一个label1(0)和text1(0)的情况下:
...
FieldCount = RecordSet.Fields.Count
Hei = Label1(0).Height + Text1(0).Height + 5
Lft = Label1(0).Left
...
If FieldCount > 1 Then
For I = 1 To FieldCount - 1
Load Label1(I)
Load Text1(I)
With Label1(I)
.Move Lft, Hei * I + 5
.Visible = True
End With
With Text1(I)
.Move Lft, Hei * I + Label1(0).Height + 5
.Visible = True
End With
Next
End If
For I = 0 To FieldCount - 1
Label1(i).Caption = FieldMemo(I)
Text1(I).MaxLength = RecordSet.Fields(I).DefinedSize
Next
就这样, 无论你有多少个字段, 统统一列显示出来. 并且自动设置好字段长度, 避免输入过多.
你会注意到我最后用到了一个FieldMemo(I)数组, 这里面存放了从数据库获得的每个字段的"备注"信息.
一般来说不建议用中易做图字段名, 而把中文名字写在备注里面.
access数据库可以用adox对象来获得字段备注, sql server的话可以参考>>这个<<
其实这只是包含了最简单的数据库自适应特征的一部分而已. 还有数据记录的添加,查询等等.
都可以做到代码相关性非常非常低. 即使实在无法避免的情况下也尽量使用外部配置文件的方式, 而不是直接写成代码.
好处就是, 这样的代码, 如果只是一般的字段修改就不需要修改程序了. 直接用数据库工具改完数据库就可以立即生效啦.
补充:VB , 基础类