错误提示
Project Project1.exe raised exception class EDatabaseError with message 'ADODataSet1:Cannot perform this operation on a closed dataset'. Process stopped.Use Step or Run to continue.
原代码
procedure TForm3.SpeedButton1Click(Sender: TObject);
begin
if (edit1.Text='')or(edit2.Text='')or(edit3.Text='') then
showmessage('Data is not enough!')
else
begin
with adodataset1 do
begin
insert;
fieldbyname('楼盘编号').AsString:=edit1.Text;
fieldbyname('楼盘名称').AsString:=edit1.Text;
post;
refresh;
end;
end;end;求解
Project Project1.exe raised exception class EDatabaseError with message 'ADODataSet1:Cannot perform this operation on a closed dataset'. Process stopped.Use Step or Run to continue.
原代码
procedure TForm3.SpeedButton1Click(Sender: TObject);
begin
if (edit1.Text='')or(edit2.Text='')or(edit3.Text='') then
showmessage('Data is not enough!')
else
begin
with adodataset1 do
begin
insert;
fieldbyname('楼盘编号').AsString:=edit1.Text;
fieldbyname('楼盘名称').AsString:=edit1.Text;
post;
refresh;
end;
end;end;求解
解决方案 »
- treeview 里选中一行,如何得到这行是第几行?
- TActionToolBar设置背景图片
- 通过控制面板对系统进行的配置,能不能通过调用对应cpl文件中的函数来等价实现?
- 我不想让DBGridEh.Title的标题自动换行,如何实现?
- 急!!!CLIENTDATASET 'CLIENTDATASET1 :excute not supported :%s ' Process stopped,use step or run to continue.
- 下午刚去一家公司面试,碰到一道智力题,大家进来看看
- 有没有高手或大虾把dcu的文件还原成pas
- ■要命呀!■请大侠帮我在多文档主窗口中怎么定义多个全局热键?
- Memo中的文本如何实现滚动?
- 如何确定字符串中某一个字符的位置
- 如何找到 内存错误 的代码在哪里??
- 奇怪的delphi 2007
不明白为什么
或用adodataset1.open;
所以:应该有
with adodataset1 do
begin
adodataset1.Open();//在这里加上,其中adodataset1.Sql.Text不能为空
insert;
fieldbyname('楼盘编号').AsString:=edit1.Text;
fieldbyname('楼盘名称').AsString:=edit1.Text;
post;
refresh;
end;
在执行这个事件前应该先打开DataSet,比如:
ADODataSet.Sql.Text:='Select XXX from XXX Where XXX';
ADODataSet.Open;
然后
procedure TForm3.SpeedButton1Click(Sender: TObject);
begin
if (edit1.Text='')or(edit2.Text='')or(edit3.Text='') then
showmessage('Data is not enough!')
else
begin
with adodataset1 do
begin
insert;
fieldbyname('楼盘编号').AsString:=edit1.Text;
fieldbyname('楼盘名称').AsString:=edit1.Text;
post;
refresh;
end;
end;end;
这样就可以了。
fieldbyname('楼盘编号').AsString:=trim(edit1.Text);