当前位置:主页>销售管理软件> 列表

这个错误是怎么回事?还有一个ADOQUERY语句?

财务软件版1楼: 1.[red]Project WarehouseMIS are raised exception class EoleException with message ''无法插入列行.行必须有一个列值集.......[/red]
2.
......
queryc.Connection:=dm.ACWareHouse;
queryc.SQL.Text := ''select * from CKDYB where WName="'' + dbeName.Text + ''"'' ;
queryc.open;
........这个写法对吗?如果不正确,该怎么写?

2楼: 大家没有明的我的问题吧!
我做 如仓库管理系统中的仓库设置模块,
功能:
添加仓库,更新仓库,删除仓库,退出系统.
控件:
dbgrid,label,button,edit,
点添加按钮,他码如下:
procedure TfrmWarehouseSetting.btnAppendClick(Sender: TObject);
var
queryc: TADOQuery;
begin
if btnAppend.Caption = ''添 加'' then
begin

dbeName.SetFocus;
aqWarehouse.Append;
btnAppend.Caption := ''提 交'';
btnModify.Caption := ''取 消'';
btnDelete.Visible := false;
end
else
begin
if dbeName.Text <> '''' then
begin
queryc := TADOquery.Create(self);
queryc.Connection:= dmWarehouse.ACWarehouse;
queryc.SQL.Text := ''select * from CKDYB where WName="'' + dbeName.Text + ''"'' ;
queryc.open;
[red]if not queryc.Eof then 什么意思?[/red]
begin
MessageBox(handle, ''此仓库名称已存在!'', ''提示'', mb_IconInformation + mb_Ok);
aqWarehouse.Cancel;
exit;
end
else
begin
aqWarehouse.Post;
btnAppend.Caption := ''添 加'';
btnModify.Caption := ''更 新'';
btnDelete.Visible := true;
end;
end
else
begin
MessageBox(handle, ''请输入仓库名!'', ''提示'', mb_IconInformation + mb_Ok);
dbeName.SetFocus;
exit
end;
end;
end;
高手们不要笑我,慢慢来嘛,呵呵 如免费销售管理软件

3楼: 好象不可以加双引号的~

4楼: if not queryc.Eof 是指当不是最后一条记录的时候执行(其实就是所有的CKDYB里面的记录的一个循环).

dm.ACWareHouse 这个你确定连接数据库没错?

''select * from CKDYB where WName="'' + dbeName.Text + ''"'' 这条如果你的WName是文本类型那就没错.但你之前最好加个queryc.SQL.clear;

5楼: WName是文本类型,我把''select * from CKDYB where WName="'' + dbeName.Text + ''"'' 的双引号去掉,向表中增加数据XXX,结果出现了说XXX没有默认值?是怎么回事?
数据库是通过一个数据模块做的,应该没有问题.
WName是文本类型,但如果去掉双引号,就报错说:
[red]Project WarehouseMIS are raised exception class EoleException with message ''无法插入列行.行必须有一个列值集.......
[/red]
如果去掉双引号报错[blue]XXX没有默认值[/blue]

6楼: ......
queryc.Connection:=dm.ACWareHouse;
queryc.Clear;
queryc.SQL.Text := ''select * from CKDYB where WName='''''' + dbeName.Text + '''''' ;
queryc.open;
........

财务软件版7楼: 楼上的改用单引号了,应该就是这样了~

8楼: 楼上说得对!一个双引号变成两个单引号!
......
queryc.Connection:=dm.ACWareHouse;
queryc.SQL.Text := ''select * from CKDYB where WName='''''' + dbeName.Text + '''''''' ;
queryc.open;
........

9楼: 多人接受答案了。