13,825
社区成员
发帖
与我相关
我的任务
分享
void __fastcall TForm2::Button1Click(TObject *Sender)
{
ADOQuery2->SQL->Clear();
int i=ComboBox1->ItemIndex;
//Caption=IntToStr(i); //测试用
if(i<0) //i==-1
{
ShowMessage("下拉列表请选择一项");
}
else
{
AnsiString ss;
ss=ComboBox1->Text;
AnsiString aa=Edit1->Text;
if(typeid(aa)==typeid(int)) //就是这个条件语句
{
ADOQuery2->SQL->Add(" select * from yuangong where "+ss+"="+Edit1->Text+";");
}
else
{
ADOQuery2->SQL->Add(" select * from yuangong where "+ss+"='"+Edit1->Text+"';");
}
ADOQuery2->Open();
if(ADOQuery2->RecordCount>0)
{
ShowMessage("查找成功");
}
else
{
ShowMessage("没有找到该员工,请确认该员工是否存在。");
}
}
}
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "Unit3.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Label4->Caption=Now();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Form1->Close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Edit1->Clear();
Edit2->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{//登录程序主要就是这一段代码
myConnection=new TADOConnection(NULL);
myConnection->ConnectionString="Provider=SQLOLEDB.1;Password=123;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=XXB-4F5B7C16ABD;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=XXB-4F5B7C16ABD;Use Encryption for Data=False;Tag with column collation when possible=False";
myConnection->Open();
myQuery=new TADOQuery(NULL);
myQuery->Connection=myConnection;
if(RadioButton1->Checked!=true&&RadioButton2->Checked!=true)
{
ShowMessage("请选择身份类型");
}
else
{
if(RadioButton1->Checked==true)
{
myQuery->SQL->Clear();
myQuery->SQL->Add("select * from denglu where username='"+Edit1->Text+"' and password='"+Edit2->Text+"'");
myQuery->Open();
if(myQuery->FieldByName("password")->AsString==""||myQuery->FieldByName("right")->AsString=="0")
{
ShowMessage("登录名或密码错误请重新输入!");
}
else
{
Form1->Hide();
Form2->Show();
}
}
if(RadioButton2->Checked==true)
{
myQuery->SQL->Clear();
myQuery->SQL->Add("select * from denglu where username='"+Edit1->Text+"' and password='"+Edit2->Text+"'");
myQuery->Open();
if(myQuery->FieldByName("password")->AsString==""||myQuery->FieldByName("right")->AsString=="1")
{
ShowMessage("登录名或密码错误请重新输入!");
}
else
{ sss=myQuery->FieldByName("id")->AsString;
Form1->Hide();
Form3->Show();
}
}
}
}
//---------------------------------------------------------------------------
try
{
int i=Edit1->Text.ToInt(); //如果无法转换为整数就会抛出异常
代码。。。
}
catch(...)
{
ShowMessage("请输入数字");
}
void __fastcall TForm2::Button1Click(TObject *Sender)
{
ADOQuery2->SQL->Clear();
int i=ComboBox1->ItemIndex;
//Caption=IntToStr(i); //测试用
if(i<0) //i==-1
{
ShowMessage("下拉列表请选择一项");
}
else
{
AnsiString ss;
ss=ComboBox1->Text;
if(ss=="id")
{
AnsiString temp=Edit1->Text;
int i=temp.ToIntDef(0);
if (i==0) //如果Text不是int型
{
ShowMessage("没有找到该员工,请确认该员工是否存在。");
}
else
{ ADOQuery2->SQL->Add(" select * from yuangong where "+ss+"='"+Edit1->Text+"';");
ADOQuery2->Open();
if(ADOQuery2->RecordCount>0)
{
ShowMessage("查找成功");
}
else
{
ShowMessage("没有找到该员工,请确认该员工是否存在。");
}
}
}
else
{ ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add(" select * from yuangong where "+ss+" like '%"+Edit1->Text+"%';");
ADOQuery2->Open();
if(ADOQuery2->RecordCount>0)
{
ShowMessage("查找成功");
}
else
{
ShowMessage("没有找到该员工,请确认该员工是否存在。");
}
}
}
}
以下CB代码参考一下吧,刚学时学书里做的,控件都没有命名。
AnsiString sql="select * from 员工信息表 where";
AnsiString str="";
if(ComboBox3->Text=="是")
str+=" 是否管理人员=true and";
else if(ComboBox3->Text=="否")
str+=" 是否管理人员=false and";
if(Edit1->Text!="")
str+=" 员工号='"+Edit1->Text+"' and";
if(Edit2->Text!="")
str+=" 姓名='"+Edit2->Text+"' and";
if(ComboBox1->Text!="")
str+=" 性别='"+ComboBox1->Text+"' and";
if(Edit3->Text!="")
str+=" 出生日期=#"+Edit3->Text+"# and";
if(ComboBox2->Text!="")
str+=" 学历='"+ComboBox2->Text+"' and";
if(Edit4->Text!="")
str+=" 电话='"+Edit4->Text+"' and";
if(ComboBox4->Text!="")
str+=" 部门='"+ComboBox4->Text+"' and";
if(ComboBox5->Text!="")
str+=" 职位='"+ComboBox5->Text+"' and";
str+=" year(出生日期)>1900"; //" 1=1" 应该也可以
sql+=str;