如何把EDIT控件中的内容写到数据库中;(200分)

  • 主题发起人 主题发起人 daijp
  • 开始时间 开始时间
D

daijp

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何把EDIT控件中的内容写到数据库中;
例如:
TABLE1。FIELDBYNAME(“姓名”)。ASSTRING:=EDIT1。TXT
TABLE1。FIELDBYNAME(“年龄”)。ASINTEGER:=EDIT2。TXT
这种方法行吗?
200分!!!!!!!!
 
TEdit.text 可以直接赋值给 TField.AsString, 要赋值给 TField.AsInteger
需要线转换成整形.

Table1.FieldByName('年龄').AsInteger := StrToInt(Edit2.Text);
 
赋值前需要:Table1.Edit;
赋值后需要:Table1.Post;
 
如果是把EDIT控件中的内容写到数据库中,
你可以试用 DBEdit 控件更方便
如果你想把
“TABLE1.FIELDBYNAME(“姓名”).ASSTRING:=EDIT1.TXT“
需要注意类型转换!
 
Table1.Edit;
TABLE1。FIELDBYNAME(“姓名”).ASSTRING:=EDIT1.TXT;
TABLE1。FIELDBYNAME(“年龄”).ASINTEGER:=strtoint(EDIT2.TXT);
Table1.Post;
 
可以赋值给TFIELD对象,先在字段编辑器中添加字段,再
tfieldname.asstring:=edit1.txt;
 
to Daijp:
你这种方法是可以的,但你一定要注意
TABLE1。FIELDBYNAME(“年龄”)。ASINTEGER:=StrToIntDef(EDIT2。TXT,0);
防止类型转换的时候出错,然后POST.
 
Table1.Edit;
Table1.FieldByName('姓名').AsString:=Edit1.Text;
Table1.FieldByName('年龄').AsInteger:=StrToInt(Edit2.Text);
//edit2.text必须为可以转换整型量的字符,不能有除数字的其它符号,否则出错!
Table1.Post;
//你的错误在于一、AsString前为“.”,不是“。”
// 二、是“Edit1.Text” , 不是“Edit1.txt”
//另外,没有加Table1.Edit和Table1.Post语句
 
既然是“写”到数据库中,应该是不断添加记录吧,而不应该
只是修改当前记录。

Table1.Insert;
...Other Fields
Table1.FieldByName('姓名').AsString:=Edit1.Text;
TABLE1。FIELDBYNAME(“年龄”).ASINTEGER:=StrToIntDef(EDIT2.TXT,0);
...Other Fields
Table1.Post;

当然究竟是Asxxx还是要用字段本来的类型比较好,
不知道“姓名”和“年龄”字段是不是字符和整数类型,上面的语句就不是很
妥当。
另外想不出不用DBEDIT的理由
 
完全可以!
DBEDIT不好控制!
 
多人接受答案了。
 
后退
顶部