如何替换表中字段的内容(50分)

  • 主题发起人 主题发起人 hzyhlw
  • 开始时间 开始时间
H

hzyhlw

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一个字符型字段“性别”,其值为“1”和“2”,我要将其相应地替换成“男”和“女”。
我的程序编译错误,请大师们修正。
另外,用SQL语句UPDATE能够替换吗?
Table1->DisableControls();
try
{
for (Table1->First();
!Table1->Eof;
Table1->Next())
(
switch (Table1->FieldByName("性别")->Value)
{
case "1":
Table1->FieldByName("性别")->Value="男";
break;
case "2":
Table1->FieldByName("性别")->Value="女";
break;
}
}
}
__finally
{
Table1->EnableControls();
}
 
我不懂C,好像应该去掉break
 
字符型还是字符串型,如果是字符型并且是AnsiChar而不是WideChar型,自然就不能用
“男”或“女”这样的widechar型来赋值了。
 
switch只支持整数,所以应该这样:
switch (Table1->FieldByName("性别")->[red]AsInteger[/red])
{
case 1: // 去掉引号
Table1->FieldByName("性别")->[red]AsString[/red]="男";
break;
case 2:
Table1->FieldByName("性别")->[red]AsString[/red]="女";
break;
}
用Update更好!两句话搞定:
update TheTable set 性别='男' where 性别='1';
...
 
报什么错?
 
谢谢LuJuhe!
以下SQL语句解决问题了:
update TheTable set 性别='男' where 性别='1';
update TheTable set 性别='女' where 性别='2';
我以前写成了:
性别="男" where 性别="1"
所以没有成功。
 
后退
顶部