dbexpress修改无法存盘 |
缺席
|
lucky4wj
一般會員 發表:1 回覆:11 積分:17 註冊:2008-11-06 發送簡訊給我 |
设计一个录入成绩的小程序,采用c/s结构,免得收集9个xls文件后再进行合并得到一个成绩文件的麻烦.
开发环境: delphi7 se dbexpress 2 mysqlopen50 mysql 5.0.67 问题: 修改的数据点击存盘按钮提交后没有报错,再点击读数据按钮刷新一次发觉没有保存. why? 界面见附件. 代码: //根据考场号 学科读入成绩 procedure TfrmMain.btnRefreshClick(Sender: TObject); var commandText:string; begin if (cmbSubject.ItemIndex=-1) or (length(txtRoom.text)=0)then //未选择下拉列表 begin showmessage('请选中要录入成绩的学科或者输入考场号!'); end else begin commandText:=getCommandText(cmbSubject.ItemIndex 2); //获取select命令 dmMysql.smpTest.Active :=false; if length(txtRoom.text)<>0 then dmMysql.smpTest.DataSet.CommandText:=commandText txtRoom.text; //showmessage( dmMysql.smpTest.DataSet.CommandText); //调试 //dmMysql.smpTest.Active :=true; dmMysql.smpTest.Open; dmMysql.smpTest.Edit; grdMain.Refresh; end; end; //存盘按钮 procedure TfrmMain.btnSaveClick(Sender: TObject); begin with dmMysql.smpTest do //if ChangeCount > 0 then try Edit; post; ApplyUpdates(0); except on e: exception do showmessage('写回数据库时出错: ' e.Message); end; end; |
lucky4wj
一般會員 發表:1 回覆:11 積分:17 註冊:2008-11-06 發送簡訊給我 |
自己解决了:
原来使用的是 select testno as 考试号,classno as 班级,stuname as 姓名,chinese as 语文,chinesecard as 卡 from score where mid(testno,5,3)='101'之类的语句, 现在修改为 select testno,classno,stuname,chinese,chinesecard from score where mid(testno,5,3)='101' 就OK了. ===>取消 "as xyz" 子句 测试还表明必须全部取消 "as xyz" 子句,不能保留有任何一个才可以. 下面的语句就无法通过. select testno as 考试号,classno as 班级,stuname as 姓名,chinese,chinesecard from score where mid(testno,5,3)='101' |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |