当前位置:编程学习 > VB >>

在一个表中增加了一个数值字段,如何赋上不同的值

客户那边的程序的数据库中有一个表,原只有一个字段:姓名,现想增加一个字段:编号,需要给用户升级一下程序,增加这个字段的编码程序已完成了,现在想问一下,增加完这个字段后,如何给这个编号分别赋不同的值 。

谢谢大家 。 --------------------编程问答-------------------- 分两步,第一步:创建字段,第二步:写入数据 --------------------编程问答-------------------- 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 ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,