学生成绩查分系统(C++脚本)
发表日期:2005-5-12 |
代码内容 //******************************// // 学生成绩查分系统(演示案例) // // 宁波宇讯信息技术有限公司 // // 2005年4月 www.sms2008.net // //******************************// //适用范围:短信网关服务器(专业版) //使用方法:编辑您的手机短信,如:CF#0503#003,并发送指定的手机号,如:13XXXXXXXXX,系统将返回该学生的成绩。 TADOConnection dbSchool; //连接学校数据库 void ConnectDatabase() { string SConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%S;Persist Security Info=False"; dbSchool = new TADOConnection(nil); try { dbSchool.Connected = false; dbSchool.LoginPrompt = false; dbSchool.ConnectionString = Format(SConnStr, [ProgramPath() + "脚本库\\演示案例\\DemoData.mdb"]); //ShowMessage(dbSchool.ConnectionString); dbSchool.Connected = true; } except { ShowMessage("数据库连接失败!"); } } //关闭学校数据库连接 void DisconnectDatabase() { dbSchool.Connected = false; delete dbSchool; } //查询学生成绩 StdNo=学号,StdPwd=查询密码 bool QueryStudentScore(string StdNo, string StdPwd, string &Content) { Result = False; TADOQuery Query = new TADOQuery(nil); try { Query.Connection = dbSchool; Query.Close; Query.SQL.Clear; Query.SQL.Add("SELECT * FROM 成绩表 WHERE (学号=:StdNo) AND (密码=:StdPwd)"); Query.Parameters[0].Value = StdNo; //学号 Query.Parameters[1].Value = StdPwd; //密码 Query.Open; if (Query.IsEmpty == false) { Content = Query.FieldByName("姓名").AsString + ":你的期中考试成绩为," + "语文:" + Query.FieldByName("语文").AsString + "分/" + "数学:" + Query.FieldByName("数学").AsString + "分/" + "英语:" + Query.FieldByName("英语").AsString + "分"; Result = true; } Query.Close; } finally { delete Query; } return(Result); } //----------------------------------------------------------------------------// //短信网关服务启动后的处理事件 void SMSGateWay_OnStartServer(TObject Sender) { //ShowMessage("OnStartServer"); ConnectDatabase(); } //短信网关服务停止后的处理事件 void SMSGateWay_OnStopServer(TObject Sender) { //ShowMessage("OnStopServer"); DisconnectDatabase(); } //收到新短信后的处理事件 void SMSGateWay_OnRecvSMS(TObject Sender, string SMSPhoneNo, string SMSMessage, TDateTime TimeStamp) { string sCommand, sStdNo, sStdPwd, sContent; int Len, Idx; Variant Params; if (Trim(SMSMessage) == "000") { return; } //系统运行状态查询命令 //简单检查是不是手机号码查询 //if ((!BeginWithString("13", SMSPhoneNo)) || (Length(SMSPhoneNo)!=11)) { return; } //查分格式为:命令字#学号#查询密码,如:CF#0501#001 Len = StringToArray(SMSMessage, "#", Params); //拆分短信内容 if (Len <= 2) { SendSMS(SMSPhoneNo, "您的查询格式不正确。正确的格式为:命令字#学号#查询密码。如:CF#0501#001", ""); return ; } sCommand = Params[0]; Idx = StringPosArray("CF#PW", "#", sCommand); //定位命令字的位置 switch(Idx) { case 0: //CF { sStdNo = Trim(Params[1]); //学生学号 sStdPwd = Params[2]; //查询密码 if (!QueryStudentScore(sStdNo, sStdPwd, sContent)) { //开始查成绩 sContent = "您的身份验证无法通过!"; } } case 1: sContent = "修改密码的功能尚未实现。"; //PW case -1: sContent = "您的命令字不正确。正确的命令字可为:CF查分,PW修改密码。"; } SendSMS(SMSPhoneNo, sContent, ""); } //发送短信后的处理事件 void SMSGateWay_OnSendSMS(TObject Sender, string SMSPhoneNo, string SMSMessage, string CustomNo, bool Succeed) { //ShowMessage("OnSendSMS " + SMSPhoneNo + " / " + SMSMessage) } //主程序开始处 { //ShowMessage("KoSMSGateWay"); } |
宇讯短信 By
|
| |
|
|