我用delphi向数据库里插入数据 没有出现任何错误 但数据库里就是什么数据都没有 特别奇怪!!!部分代码如下:
var
xiaobanhao,strcodexiaoban,linban,tongjiyear:string;
zyflag:integer;
begin
tongjiyear:=edit1.Text ;
zyflag:=1;
linban:='001';
adoqs.Close;
adoqw.Close; //在找到所有的小班
ADOQS.SQL.Clear ;
ADOQS.SQL.Add('execute mytfdarea_XiaobanSelect '+LinBan);
try
ADOQS.Prepared ;
ADOQS.Open;
ADOQW.Close;
while not ADOQS.Eof
do
begin
xiaobanhao:=trim(ADOQS.Fields.fieldbyname('xb').AsString);
strcodexiaoban:=trim(adoqs.Fields.fieldbyname('id').AsString );
xiaobanhao:=' '+xiaobanhao;
ADOQW.SQL.Clear ;
if trim(ADOQS.Fields.fieldbyname('dl').AsString)='针叶林' then
begin
ADOQW.SQL.Add('execute tfdarea_insertrecord '''+strcodexiaoban+''','''+tongjiyear+''','''+xiaobanhao+''','''+ADOQS.Fields.fieldbyname('qs_td').AsString+''','''+ inttostr(zyflag)+''',');
ADOQW.SQL.Add(floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100');
end
else
begin
showmessage('没有进行以上选择!');
end;
ADOQW.Prepared ;
ADOQW.ExecSQL ;
ADOQS.Next;
end;
showmessage('成功!');
except showmessage(adoqw.SQL.Text);
showmessageadoqs.SQL.Text); exit;
end;
ADOQW.Close;
ADOQS.Close;
end;其中有用到存储过程的 程序的结果就是显示 ‘成功!’
大家都来帮帮忙了 很急
var
xiaobanhao,strcodexiaoban,linban,tongjiyear:string;
zyflag:integer;
begin
tongjiyear:=edit1.Text ;
zyflag:=1;
linban:='001';
adoqs.Close;
adoqw.Close; //在找到所有的小班
ADOQS.SQL.Clear ;
ADOQS.SQL.Add('execute mytfdarea_XiaobanSelect '+LinBan);
try
ADOQS.Prepared ;
ADOQS.Open;
ADOQW.Close;
while not ADOQS.Eof
do
begin
xiaobanhao:=trim(ADOQS.Fields.fieldbyname('xb').AsString);
strcodexiaoban:=trim(adoqs.Fields.fieldbyname('id').AsString );
xiaobanhao:=' '+xiaobanhao;
ADOQW.SQL.Clear ;
if trim(ADOQS.Fields.fieldbyname('dl').AsString)='针叶林' then
begin
ADOQW.SQL.Add('execute tfdarea_insertrecord '''+strcodexiaoban+''','''+tongjiyear+''','''+xiaobanhao+''','''+ADOQS.Fields.fieldbyname('qs_td').AsString+''','''+ inttostr(zyflag)+''',');
ADOQW.SQL.Add(floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +','+floattostr(ADOQS.Fields.fieldbyname('mj').AsFloat) +',0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100');
end
else
begin
showmessage('没有进行以上选择!');
end;
ADOQW.Prepared ;
ADOQW.ExecSQL ;
ADOQS.Next;
end;
showmessage('成功!');
except showmessage(adoqw.SQL.Text);
showmessageadoqs.SQL.Text); exit;
end;
ADOQW.Close;
ADOQS.Close;
end;其中有用到存储过程的 程序的结果就是显示 ‘成功!’
大家都来帮帮忙了 很急
解决方案 »
- 如何判断一个文本框是否可编辑?
- 怎样判断dbgrid中有无记录显示?
- 多个用户/多个线程,如何共用一个ADOConnection连接(不是连接池),进行并发读写数据库,而不会出现事务冲突?如何串行化?
- 救急!如何用SQL语句让一个表的记录变成另一个表的字段来使用
- 为什么提示"Resource TMyForm not Found"?
- 生星了,高兴散分!(*###*)
- 告别delphi,散分哦
- 新来的,大家多关照。
- 关于类继承--新手(伴水在吗?)
- 怎样作查询时只用edit,而且当输入时马上可以看到查询结果
- 求助:ADOQuery导出到xls,怎么自动把 1-1-1 给我转成2001-1-1这样的日期格式啦?
- 如何修改这个过程??
改为ADOQS.EXECSQL;如果没数据,说明ADOQS.Eof为真,也就是没有选出数据来。
showmessage(ADOQS.SQL.Text);然后把show出来的结果在查询分析器里执行一下
inputbox('','',ADOQS.SQL.Text);
而且当我showmessage(ADOQS.Fields.fieldbyname('dl').AsString)时 说找不到'dl'
end;
ADOQW.Prepared ;
memo1.text := ADOQW.sql.text;
ADOQW.ExecSQL ;
ADOQS.Next;
然后把memo1.text拷贝到sql查询分析器里看看行不行
procedure TForm1.Button1Click(Sender: TObject);
var
str,linban:string;
begin
linban:='001';
adoqs.Close ;
ADOQS.SQL.Clear ;
ADOQS.SQL.Add('execute mytfdarea_XiaobanSelect '''+LinBan+'''');
showmessage(adoqs.SQL.Text );
try
ADOQS.Prepared ;
adoqs.ExecSQL ;
while not ADOQS.Eof
do
begin
str:=trim(adoqs.Fields.fieldbyname('dl').AsString);
showmessage(str);
adoqs.Next ;
end;
except
showmessage('错误!');
end;
end;存储过程在查询分析器里试过了 没问题 只显示了showmessage(adoqs.sql.text) 然后就开始没反应了 也没显示出错信息!!
帮帮忙了