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;

期望大家给点意见!
...全文
95 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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;
回复
相关推荐
发帖
网络及通讯开发
创建于2007-08-02

1300

社区成员

C++ Builder 网络及通讯开发
申请成为版主
帖子事件
创建了帖子
2011-10-05 10:50
社区公告
暂无公告