使用Query 、DBGrid 怎样修改数据?

gfh_79_0 2005-04-25 05:08:08
用Query 选择出数据后,
由DBGrid 和 Edit 显示数据,
点击DBGrid中的记录后,Edit显示出相应字段的值,
然后可以在Edit中修改,
修改使用修改按钮提交。
如果不用QURRY-》EDIT
使用 UPDATE语句怎么写
怎么知道那条记录是要更改的?
...全文
147 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
haixiang19822 2005-04-26
  • 打赏
  • 举报
回复
再问个问题。
比如有个表clients的数据项是open_date(格式是****-**-** timestamp类型的好象)
我想实现年份的查询。(在Edit1里输入年份。)

Query1->SQL->Add("select * from clients where year(clients.open_date) = '"+Edit1->Text +"'") ;

可是不行。
有没有办法?

haixiang19822 2005-04-26
  • 打赏
  • 举报
回复
呵呵。新人不懂规矩,老大莫怪哦。
gfh_79_0 2005-04-26
  • 打赏
  • 举报
回复
谢谢
samchoy(SamChoy) ( )

大哥,
在俺的地盘怎么问上问题了呢?
tanlim 2005-04-26
  • 打赏
  • 举报
回复
半边坏人的办法最为有效。当然是针对数据集控制组件连接修改而言。
但如果说是EDIT而不是DBEDIT,就不同了。需要编程来解决
这样的情况下,建议使用TUPDATESQL组件配合TQUERY组件使用。此问题就解了。而且可以解开独占和只读等限制。
Builder007 2005-04-26
  • 打赏
  • 举报
回复
有那么麻烦吗?? 把Query->RequsestLive设为True,不就OK了!?
haixiang19822 2005-04-26
  • 打赏
  • 举报
回复
果然可以了。真是高手。
samchoy 2005-04-25
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString S;
S="select * from animals where animals.name like '"+Edit1->Text+"'";
Query1->SQL->Clear();
Query1->SQL->Add(S);
Query1->Open() ;
}

欢迎加入我们的群9069969 ^_^
haixiang19822 2005-04-25
  • 打赏
  • 举报
回复
我的qq是28403570。可以一起来讨论的。
也可以加到我们的群5473734。

haixiang19822 2005-04-25
  • 打赏
  • 举报
回复
我想实现查询。可以为什么不行。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString S;
S=Edit1->Text;
Query1->SQL->Clear();
Query1->SQL->Add("select * from animals where animals.name like S");
Query1->Open() ;
Query1->Active=true;


}
不能实现在Edit1里内容的查询。
要怎么样,才可以实现查找与Edit1里内容相同的数据呢??
sunpk 2005-04-25
  • 打赏
  • 举报
回复
请问在什么事件里用呀??
samchoy 2005-04-25
  • 打赏
  • 举报
回复
Query要查询出主键,然后就可以根据主键来更新了

Query2->Close();
Query2->SQL->Clear();
Query2->SQL->Add("UPDATE table1 SET field1 = :param1 WHERE keyfield = :keyfield");
Query2->Prepare();
Query2->ParamByName("param1")->AsString = Edit1->Text;
Query2->ParamByName("keyfield")->AsString = Query1->FieldByName("keyfield")->AsString;
Query2->ExecSQL();
Query2->UnPrepare();

Query1->Close();
Query1->Open();

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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