vfp 中将表单中文本框的值写入数据库中的表,如何实现(新手)!

蔚蓝理想 2011-06-01 04:28:43
大家好!刚刚学vfp,弄的优点晕!

看一些别人做好的例子,能看懂,可是自己去写程序,就发蒙。

现在,想实现如下功能,请大家帮助。

数据库中有数据表tab1,包括字段有:学号、姓名、年龄、班级,学号是索引。
建立一表单,表单包括一个标签、一个文本框、一个按钮。
在表单文本框中输入”0001“,点击按钮后希望将在tab1中添加一条记录,而且将“0001”这个值给数据库中tab1表中对应的学号字段。

我编写的代码如下,但是有错误,提示找不到别名“text1”,请问这样错误在哪里呢?还有就是这样的编写合适吗?
USE tab1
APPEND BLANK
UPDATE tab1 SET 学号=thisform.text1.Value WHERE 学号=""
BROWSE
...全文
720 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
linct 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wyzc2005 的回复:]
引用 4 楼 arong_119 的回复:
跟蹤看thisform.text1.Value 和Cc 有沒有值。


解决了,这回可以啦!

我加了判断数据库、表是否打开。然后就可以了。谢谢啦!
[/Quote]

瞎猫碰到死耗子的可以。如果当前存在学号字段为空的别的记录时,会怎么样?
如果这是实际中应用的程序,你会完蛋的,你会连原始数据都找不回来的。你的数据是不安全的
linct 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yang0158 的回复:]
用replace with行不行
[/Quote]
用 replace ... with ... 也是可以的,但要注意环境,比如 SET DELETE、SET FITLER、EOF()、BOF() 等的情况
linct 2011-06-02
  • 打赏
  • 举报
回复 1
[Quote=引用 1 楼 apple_8180 的回复:]
你的文本框的Name值是 Text1 吗?

如果是,以上改为:
Insert Into Tab1 (学号) Values (Thisform.Text1.Value)
[/Quote]

正解!

如果完整点:

IsTableUsed = USED(Tab1)

Insert Into Tab1 (学号) Values (Thisform.Text1.Value)

IF !IsTableUsed
USE IN Tab1
ENDIF
yang0158 2011-06-01
  • 打赏
  • 举报
回复
用replace with行不行
arong_119 2011-06-01
  • 打赏
  • 举报
回复
唉,看幫助吧養成好習慣。
提示多加幾次,去了該命令和不去了看看結果。
蔚蓝理想 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 arong_119 的回复:]
set ansi on
USE tab1
APPEND BLANK
cc=thisform.text1.Value
UPDATE tab1 SET 学号=cc WHERE 学号=""
BROWSE

這樣試試。
[/Quote]

set ansi on是什么含义啊?
蔚蓝理想 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 arong_119 的回复:]
跟蹤看thisform.text1.Value 和Cc 有沒有值。
[/Quote]

解决了,这回可以啦!

我加了判断数据库、表是否打开。然后就可以了。谢谢啦!
arong_119 2011-06-01
  • 打赏
  • 举报
回复
跟蹤看thisform.text1.Value 和Cc 有沒有值。
蔚蓝理想 2011-06-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 arong_119 的回复:]
set ansi on
USE tab1
APPEND BLANK
cc=thisform.text1.Value
UPDATE tab1 SET 学号=cc WHERE 学号=""
BROWSE

這樣試試。
[/Quote]

这样,没有提示错误,可是插入一条空记录,但是不能将cc的值给这条记录。问题在哪里呢?
arong_119 2011-06-01
  • 打赏
  • 举报
回复
set ansi on
USE tab1
APPEND BLANK
cc=thisform.text1.Value
UPDATE tab1 SET 学号=cc WHERE 学号=""
BROWSE

這樣試試。
十豆三 2011-06-01
  • 打赏
  • 举报
回复 1
你的文本框的Name值是 Text1 吗?

如果是,以上改为:
Insert Into Tab1 (学号) Values (Thisform.Text1.Value)

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧