我做的那个在保存的时候怎么说“索引或主关键字不能包含一个空值”,但是我那里边内根本就没有空值,为什么啊?
  ADOQuery1.Insert;
  ADOQuery1.FieldByName('站号').AsString := SnEdit1.Text;
  ADOQuery1.FieldByName('到站').AsString := SnEdit2.Text;
  ADOQuery1.Post;
  ADOQuery1.Close;
  ADOQuery1.Open;
‘站号’为主键,两个控件我都写上值了啊,为什么啊?

解决方案 »

  1.   

    你把表的结构生成SQL, 包括创建的主键与索引代码贴出来看看
      

  2.   

    用的是Access数据库
    id:自动编号 站号:数字 到站:文本
    现在怎么又不能提交了呢?
      

  3.   

    ADOQuery1.Insert;
    //  ADOQuery1.FieldByName('站号').AsString := SnEdit1.Text;
      ADOQuery1.FieldByName('到站').AsString := SnEdit2.Text;
      ADOQuery1.Post;
      ADOQuery1.Close;
      ADOQuery1.Open;——自动编号的字段不用赋值!
      

  4.   

    根据你的意思,站号为自动生成的ID,不能对其赋值,它的值在你添加记录(Insert)时自动生成