C++Builder关于SQL的一个简单的查询问题

yangtou1 2011-10-05 10:50:22
一个简单的查询,运行时提示:参数不足,期待是1。不知道问题在哪?代码如下
int num;
num = StrToInt(Edit1->Text);
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 = num");
Query1->Prepare();
Query1->Active = True;

期望大家给点意见!
...全文
144 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
royallii 2011-10-12
  • 打赏
  • 举报
回复
active=true没有试过,但是查询用open肯定错不了。
royallii 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 stbigcrab 的回复:]
int num;
num = StrToInt(Edit1->Text);
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 = " + IntToStr(num));
Query1->Open();

或者
Query1->Close();
Query1->……
[/Quote]

Right
七擒关羽 2011-10-09
  • 打赏
  • 举报
回复

//int num;
//num = StrToInt(Edit1->Text);//不需要重复转换
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号=" +Edit1->Text);
Query1->Prepare();
Query1->Open();//查询用open
半夜回家 2011-10-09
  • 打赏
  • 举报
回复
int num;
try{
num = StrToInt(Edit1->Text);
}
catch(...){
ShowMessage("数字不合法!");
return;
}
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 = " + QuotedStr(Edit1->Text));
Query1->Open();

ssypas 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 stbigcrab 的回复:]
int num;
num = StrToInt(Edit1->Text);
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 = " + IntToStr(num));
Query1->Open();

或者
Query1->Close();
Query1->……
[/Quote]

正解
netying 2011-10-08
  • 打赏
  • 举报
回复
上边马虎了,应该是:
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 ="+ String(num));
netying 2011-10-08
  • 打赏
  • 举报
回复
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 ="+ num);
stbigcrab 2011-10-08
  • 打赏
  • 举报
回复
int num;
num = StrToInt(Edit1->Text);
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 = " + IntToStr(num));
Query1->Open();

或者
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 = " + Edit1->Text);
Query1->Open();

:)偷偷蹭点分。
ccrun.com 2011-10-07
  • 打赏
  • 举报
回复
int num;
num = StrToInt(Edit1->Text);
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add(String().sprintf("SELECT * FROM 教师表 WHERE 教师编号=%d", num));
Query1->Prepare();
Query1->Active = True;
cankoo 2011-10-07
  • 打赏
  • 举报
回复
//forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/42.gif][/img]
zzbinfo 2011-10-06
  • 打赏
  • 举报
回复
你的sql语句写错了,
int num;
num = StrToInt(Edit1->Text);
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 =:num");
Query1->Params->Items[0]->AsInteger = num;
Query1->Prepare();
Query1->Active = true;
new_bird_0001 2011-10-06
  • 打赏
  • 举报
回复
Query1->Close();
Query1->SQL->Clear();
Query1->SQL->Add("SELECT * FROM 教师表 WHERE 教师编号 = :num");
Query1->Prepare();
Query1->ParamByName("num")->AsInteger = StrToInt(Edit1->Text);
Query1->Active = True;

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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