procedure TStudentForm.QuedingFlatSpeedButtonClick(Sender: TObject);
var
Sqlstr,
Boy,gril:string;
begin
if StudentQuery.Active=true then
StudentQuery.Active:=false;
StudentQuery.SQL.Clear;
boy:='男';
gril:='女';
if (ClassFlatEdit.Text<>'') And
(ClassMannumFlatEdit.Text<>'') And
(XueyuanNameFlatComboBox.Text<>'') And
(EnterSchTimeMaskEdit.Text<>'')
then
begin
Sqlstr:='Insert into 学校在籍学生情况表 values (';
Sqlstr:=Sqlstr+EnterschtimeMaskEdit.Text+',';
if BoyFlatCheckBox.Checked then
Sqlstr:=Sqlstr+'"'+boy+'"'+','
else
Sqlstr:=Sqlstr+'"'+gril+'"'+',';
Sqlstr:=Sqlstr+'"'+ClassFlatEdit.Text+'"'+','+'"'+ClassManNumFlatEdit.Text+'",'+'"'+XueyuanNameFlatComboBox.Text+'")';
end ;
StudentQuery.SQL.Add(Sqlstr);
StudentQuery.ExecSQL;
ShowMessage('添加数据成功!');end;
不知道怎么就是不能执行!
我以为是我动态加入sql时的错误!
但是有找不出!
劳驾帮我改!
如果能提供理论知道的也加分!
在双节期间,加分双倍!
特此声名!
var
Sqlstr,
Boy,gril:string;
begin
if StudentQuery.Active=true then
StudentQuery.Active:=false;
StudentQuery.SQL.Clear;
boy:='男';
gril:='女';
if (ClassFlatEdit.Text<>'') And
(ClassMannumFlatEdit.Text<>'') And
(XueyuanNameFlatComboBox.Text<>'') And
(EnterSchTimeMaskEdit.Text<>'')
then
begin
Sqlstr:='Insert into 学校在籍学生情况表 values (';
Sqlstr:=Sqlstr+EnterschtimeMaskEdit.Text+',';
if BoyFlatCheckBox.Checked then
Sqlstr:=Sqlstr+'"'+boy+'"'+','
else
Sqlstr:=Sqlstr+'"'+gril+'"'+',';
Sqlstr:=Sqlstr+'"'+ClassFlatEdit.Text+'"'+','+'"'+ClassManNumFlatEdit.Text+'",'+'"'+XueyuanNameFlatComboBox.Text+'")';
end ;
StudentQuery.SQL.Add(Sqlstr);
StudentQuery.ExecSQL;
ShowMessage('添加数据成功!');end;
不知道怎么就是不能执行!
我以为是我动态加入sql时的错误!
但是有找不出!
劳驾帮我改!
如果能提供理论知道的也加分!
在双节期间,加分双倍!
特此声名!
解决方案 »
- INDY怎么接收发送不确定大小的数据
- delphi world 和dworld有何不同 谢谢。
- 编译DLL的问题?
- ×××××超急哦,怎样放在BUTTON,按下后,模拟按下键盘上个键×××××
- 在过20分钟就我生日了,在这里散分庆祝!!!!!!!!!!同时也各位青年节快乐
- 为什么出错
- 关于trayicon的提示hint二次更改的问题~~~~~~~急!
- 如何取出dbgrid中被选中的一行的某个字段的值?
- 高手,关于文件操作的。。
- customeredit1.pas(163): Identifier redeclared: 'Tcustomeredit.BitBtn4Click'
- 不知pascal的问题是不是往这里投啊?
- 关于HTML网页编辑器的问题!
Sqlstr+'"'+boy+'"'+','改成:
Sqlstr+chr(39)+boy+chr(39)+','用chr(39)代替'"'用"号是不对的
if BoyFlatCheckBox.Checked then
Sqlstr:=Sqlstr+'"'+boy+'"'+','
else
Sqlstr:=Sqlstr+'"'+gril+'"'+',';
中“的地方有问题
Sqlstr:=Sqlstr+''''+boy+'''';
代码写的老长,错误找不到.
这个应该是调试方法的问题,有谁能写点调试方法,供大家参考那?
begin
StudentQuery.ExecSQL;
ShowMessage('添加数据成功!');
end;这样在执行前可以看下Sqlstr是不是有语法问题。
我个很喜欢用 application.MessageBox 调试。
很可能就是"出了问题
sqlserver只支持单引号字符串的
同意楼上的说法更换一下
Sqlstr+'"'+boy+'"'+','
改为
sqlstr+''''+boy+''''+','
''''代表{'}
你只有要在'select .....from...where ..id='''+edit1.text+''''
这时可以用到'''
其实在DELPHI里边''代表{'}自己看帮助吧!
还有SQL也可以这样写
With adoquery1 do
Begin
Close;
SQL.Clear;
SQL.Add('');
Open;
End;
2对于执行这种没有返回结果的SQL语名,我建议用ADOCONNECTION的EXECUTE来执行,效益要高一点.
支持Access中 查询,sql生成器,关于各种连接的语法,left join ,right join ,inner join ,具体语法,你自己去看看吧!