我写了这个语句提示有错,请问应该怎么改,请高手赐教
unit storeinedt;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, StdCtrls, ComCtrls, ExtCtrls, Grids, DBGrids, Mask,
DBCtrls;type
Tfrmstoreinedt = class(TForm)
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
ADOQuery1: TADOQuery;
Button1: TButton;
DataSource1: TDataSource;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
frmstoreinedt: Tfrmstoreinedt;
rt:string;implementation{$R *.dfm}procedure Tfrmstoreinedt.Button1Click(Sender: TObject);
begin
rt:=edit1.Text;
with ADOQuery1 do
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into 入库信息表 (入库物料代码) values (:rt)');
//ADOQuery1.Parameters.ParamByName('rt').Value:=trim(edit1.Text); ADOQuery1.Open;
ADOQuery1.ExecSQL;
end;
end;end.
出错:无法将NULL值插入列'入库物料代码',表'库存管理.dbo.入库信息表';改列不允许空值。insert失败。
unit storeinedt;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ADODB, DB, StdCtrls, ComCtrls, ExtCtrls, Grids, DBGrids, Mask,
DBCtrls;type
Tfrmstoreinedt = class(TForm)
DBGrid1: TDBGrid;
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
ADOQuery1: TADOQuery;
Button1: TButton;
DataSource1: TDataSource;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
frmstoreinedt: Tfrmstoreinedt;
rt:string;implementation{$R *.dfm}procedure Tfrmstoreinedt.Button1Click(Sender: TObject);
begin
rt:=edit1.Text;
with ADOQuery1 do
begin
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('insert into 入库信息表 (入库物料代码) values (:rt)');
//ADOQuery1.Parameters.ParamByName('rt').Value:=trim(edit1.Text); ADOQuery1.Open;
ADOQuery1.ExecSQL;
end;
end;end.
出错:无法将NULL值插入列'入库物料代码',表'库存管理.dbo.入库信息表';改列不允许空值。insert失败。
解决方案 »
- 奇怪的问题,熟悉VCL的帮忙解释下!!!!
- Dspack控件不是有自己的压缩吗?为啥有些大侠还用什么xvid来自己压缩呢
- delphi中全局变量的问题
- 急!我向窗体中输入数据后点保存,数据保存了,但是再次点击窗体时页面还是显示刚才输入数据,怎样刷新页面呢
- listbox中的每一项显示一个值,实际取得一个值,如何作???
- 谁给个Delphi2006的注册码和激活码,谢谢
- Delphi提取汉字
- 如何动态的在,DBChart中加入series,并且设置线条的颜色、设置数据库中的字短如何和x,y轴想连?
- Interbase数据如何把它转换为ACCESS数据或SQL SERVER数据库!看一下我的一个方法!
- install shields 的反安装程序怎么做不出来呢?
- 我的delphi版本升级之路,分只给新手三个星星以下的,老鸟勿进,抱歉
- PSafeArray在DELPHI中如何使用
ADOQuery1.ExecSQL;
//ADOQuery1.Parameters.ParamByName('rt').Value:=trim(edit1.Text);
rt:=trim(edit1.Text);
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('insert into 入库信息表 (入库物料代码) values ('''+rt+''')');
ExecSQL;
end;
begin
if xmedit.Text='' then
begin
showmessage('姓名不能为空!');
exit;
end;
try
with adoquery do
begin
close;
sql.Clear;
sql.Add('update czyb set 权限=:qx,密码=:mm where 姓名=:xm');
Parameters.ParamByName('xm').Value:=trim(xmedit.Text);
Parameters.ParamByName('qx').Value:=trim(qxbox.Text);
Parameters.ParamByName('mm').Value:=trim(mmedit.Text);
execsql;
showmessage('修改成功!');
xmedit.Text:='';
mmedit.Text:='';
qxbox.Text:='';
end;
except
showmessage('修改失败!');
end;
with adoquery do
begin
close;
sql.Clear;
sql.Add('select * from czyb');
open;
end;
end;这样删除的时候即使是数据库里面没有的纪录也会显示删除成功 怎样改才能查询完后显示该数据库中不存在这条纪录 请教高手!!!!!!!!!!!! 谢谢
if 条件 then
begin
end
else
begin
end;
.....
其实只要是修改的(查询不是)都要查一下的懂我意思了吧
比如用adoquery
就先执行一次查询
判断存不存在然后再执行那个删除
ADOquery.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+mypath+'data\kcgl.mdb;Persist Security Info=False';
ADOquery.active:=true;我想我知道你大概什么意思了 我再努力试试 谢谢我想请问一下这段中的第一句是什么意思 我不太懂
var
//str:string;
begin
if (rbtnwlmc.Checked=false) and (rbtnwlbh.Checked=false) and (rbtnjhrq.Checked=false) then
begin
showmessage('请选择查询条件!');
exit;
end; with adoquery do
begin
close;
sql.Clear;
case checked of
1:
begin
sql.Add('select * from rukub where 物料名称=:wlmc');
Parameters.ParamByName('wlmc').Value:=cmbwlmc.Text;
if cmbwlmc.Text='' then
showmessage('请输入物料名称!')
end;
2:
begin
sql.Add('select * from rukub where 物料编号 =:wlbh');
Parameters.ParamByName('wlbh').Value:=edtwlbh.Text;
if edtwlbh.Text='' then
showmessage('请输入物料编号!')
end;
3:
begin
sql.Add('select * from rukub where 进货日期>=:jhrq1 and 进货日期<=:jhrq2');
Parameters.ParamByName('jhrq1').Value:=datetostr(dtpjhrq1.Date);
Parameters.ParamByName('jhrq2').Value:=datetostr(dtpjhrq2.Date); end;
end;
open;
end;
end;我想在条件2或3查询的时候能够实现模糊查询 但是不会写具体的代码 总是出现错误 请高手指教 非常感谢啦
2:
begin
sql.Add('select * from rukub where 物料编号 like wlbh');
Parameters.ParamByName('wlbh').Value:=edtwlbh.Text;
if edtwlbh.Text='' then
showmessage('请输入物料编号!')
end;
请高手指点!!!!!!!!!