出错就在//if (DM.ADODataSet1_bookyd.State = dsInsert) then
可是小妹不知道如何去改啊!:(
可是小妹不知道如何去改啊!:(
解决方案 »
- 急!cxgrid的简单问题,如何不使用cxgrid的导航条,自己实现导航功能,最后保存提交数据集
- Qreport报表,如何截断QRDBText的长度?
- 打印问题?
- 为何DisableControls没有起作用?
- 哪位大哥可以給我一個怎樣編寫組件的例子嗎?我看了一些書.看不懂.哪里有類似文章也好啊.我想很多我這樣的菜鳥都會感謝你啊!
- DBchart 和 DecisionGraph 有什么区别?
- delphi版本问题!
- 知道一个控件的tag值,如何引用该控件其他属性的值?前提:不知道控件名
- 如何实现拨号网络通信?
- DCOM的服务器端/客户端配置问题
- 用delphi开发asp组件,数据库采用bde时可用session控件,用ado采用何种控件能达到bde的session的作用?
- 如何指定ToolBar按纽下拉的快捷键?(当按钮STYLE属性为tbsDropDown并指定DropdownMenu属性时)
var
asedit:String ;
begin
if (DM.ADODataSet1_bookyd.State = dsInsert) then
begin
if (dbedit1.GetTextLen()<>6) then
begin
ShowMessage('请输入6位的编号!');
dbedit1.SetFocus();
end
else
begin
asedit := dbedit1.Text ;
DM.ADODataSet1_bookyd.Close();
DM.ADODataSet1_bookyd.CommandText := 'SELECT * FROM bookyd WHERE id = +#39+asedit+#39';//这儿
DM.ADODataSet1_bookyd.Open();
wwdbgrid1.Refresh;
end;
end;
end;
DM.ADODataSet1_bookyd.CommandText := 'SELECT * FROM bookyd WHERE id = #39+asedit+#39';//这儿
就是你这个程序看的好像没有错误,但是如下;
if ... then
begin (0)
if ...then...
begin//(1)
end else
begin //它对应的是(1)
end;
end;
现在你再看你的代码,也就是数,当在插入的状态下时,如果
if it1.GetTextLen()<>6) then不满足时,就会执行:
asedit := dbedit1.Text ;
DM.ADODataSet1_bookyd.Close();
DM.ADODataSet1_bookyd.CommandText := 'SELECT * FROM bookyd WHERE id = +#39+asedit+#39';//这儿
DM.ADODataSet1_bookyd.Open();
wwdbgrid1.Refresh;
此时,你想一想,当前还正处于插入状态,你再写sql语句,肯定是错误的;
再者,还有一点,不提倡你写:wwdbgrid1.Refresh;
出错是时候是错在这一行啊://if (DM.ADODataSet1_bookyd.State = dsInsert) then
我觉得你至少应该看一下你的sql语句,我一般用query,如果query的话,sql应这样写
query.sql.add('SELECT * FROM bookyd WHERE id = +#39'+asedit+'#39');
我想你可以跟踪一下你的commandText,asedit会被认为就是一个‘asedit’字串,而不是dbedit1.Text。
胡乱说的,仅供参考。
可是小妹不知道如何去改啊!:(
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
DM.ADODataSet1_bookyd.State = dsInsert
这是一个集合,不应这样写;
if dsinsert in DM.ADODataSet1_bookyd.state
试一试;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
对应错误,
if ... then
begin (0)
if ...then...
begin//(1)
end else
begin //它对应的是(0)//不好意思,前边写成了(1)
end;
end;